Eureka自定義介面及啟動日誌
阿新 • • 發佈:2020-10-14
eureka本身自帶了一套ui介面,但是可能有些人覺得會不好看,那麼接下來我們看怎麼去修改他的預設介面
首先我們建立一個springboot工程,很簡單,引入依賴後我們就新建一個啟動類,以下是基於maven的,平常我們是基於Gradle的,原理都一樣
為了方便管理,我麼先建立父類工程,管理所有jar包,pom.xml如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 3<modelVersion>4.0.0</modelVersion> 4 <groupId>com.cn.bodhi</groupId> 5 <artifactId>com.parent</artifactId> 6 <version>0.0.1-SNAPSHOT</version> 7 <packaging>pom</packaging> 8 <parent> 9 <groupId>org.springframework.boot</groupId> 10<artifactId>spring-boot-starter-parent</artifactId> 11 <version>1.5.12.RELEASE</version> 12 <relativePath/> <!-- lookup parent from repository --> 13 </parent> 14 15 <!-- 版本的統一管理 --> 16 <properties> 17<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 18 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 19 <java.version>1.8</java.version> 20 </properties> 21 22 23 <dependencies> 24 <!-- 載入springboot依賴 --> 25 <dependency> 26 <groupId>org.springframework.boot</groupId> 27 <artifactId>spring-boot-starter-web</artifactId> 28 </dependency> 29 <dependency> 30 <groupId>org.springframework.boot</groupId> 31 <artifactId>spring-boot-starter</artifactId> 32 </dependency> 33 <dependency> 34 <groupId>org.springframework.boot</groupId> 35 <artifactId>spring-boot-starter-test</artifactId> 36 <scope>test</scope> 37 </dependency> 38 <dependency> 39 <groupId>com.github.pagehelper</groupId> 40 <artifactId>pagehelper-spring-boot-starter</artifactId> 41 <version>1.2.10</version> 42 </dependency> 43 <dependency> 44 <groupId>org.springframework.boot</groupId> 45 <artifactId>spring-boot-configuration-processor</artifactId> 46 </dependency> 47 48 49 <!-- 載入mysql依賴 --> 50 <dependency> 51 <groupId>mysql</groupId> 52 <artifactId>mysql-connector-java</artifactId> 53 </dependency> 54 55 <!-- 載入mybatis依賴 --> 56 <dependency> 57 <groupId>org.mybatis.spring.boot</groupId> 58 <artifactId>mybatis-spring-boot-starter</artifactId> 59 <version>1.3.0</version> 60 </dependency> 61 <dependency> 62 <groupId>org.mybatis.generator</groupId> 63 <artifactId>mybatis-generator-core</artifactId> 64 <version>1.3.2</version> 65 </dependency> 66 67 <!-- 連線池載入 --> 68 <dependency> 69 <groupId>com.alibaba</groupId> 70 <artifactId>druid</artifactId> 71 <version>1.1.0</version> 72 </dependency> 73 74 <!-- 工具類載入 --> 75 <dependency> 76 <groupId>com.alibaba</groupId> 77 <artifactId>fastjson</artifactId> 78 <version>1.2.47</version> 79 </dependency> 80 81 <!-- 新增模板引擎 --> 82 <dependency> 83 <groupId>org.springframework.boot</groupId> 84 <artifactId>spring-boot-starter-thymeleaf</artifactId> 85 </dependency> 86 87 <!-- 增加閘道器配置 --> 88 <dependency> 89 <groupId>org.springframework.cloud</groupId> 90 <artifactId>spring-cloud-starter-netflix-zuul</artifactId> 91 </dependency> 92 93 94 <!-- 定時任務Quartz依賴 --> 95 <dependency> 96 <groupId>org.quartz-scheduler</groupId> 97 <artifactId>quartz</artifactId> 98 <version>2.2.1</version> 99 <exclusions> 100 <exclusion> 101 <artifactId>slf4j-api</artifactId> 102 <groupId>org.slf4j</groupId> 103 </exclusion> 104 </exclusions> 105 </dependency> 106 </dependencies> 107 <dependencyManagement> 108 <dependencies> 109 <!-- 載入springcloud依賴 --> 110 <dependency> 111 <groupId>org.springframework.cloud</groupId> 112 <artifactId>spring-cloud-starter-eureka-server</artifactId> 113 </dependency> 114 <dependency> 115 <groupId>org.springframework.cloud</groupId> 116 <artifactId>spring-cloud-config-server</artifactId> 117 </dependency> 118 <dependency> 119 <groupId>org.springframework.cloud</groupId> 120 <artifactId>spring-cloud-config-client</artifactId> 121 </dependency> 122 123 <!-- 配置檔案載入失敗是啟用重試功能 --> 124 <dependency> 125 <groupId>org.springframework.boot</groupId> 126 <artifactId>spring-boot-starter-aop</artifactId> 127 </dependency> 128 <dependency> 129 <groupId>org.springframework.retry</groupId> 130 <artifactId>spring-retry</artifactId> 131 </dependency> 132 133 <!-- 註冊中心 --> 134 <dependency> 135 <groupId>org.springframework.cloud</groupId> 136 <artifactId>spring-cloud-dependencies</artifactId> 137 <version>Edgware.SR3</version> 138 <type>pom</type> 139 <scope>import</scope> 140 </dependency> 141 142 <!--安全認證依賴--> 143 <dependency> 144 <groupId>org.springframework.boot</groupId> 145 <artifactId>spring-boot-starter-security</artifactId> 146 </dependency> 147 <!--健康檢查依賴--> 148 <dependency> 149 <groupId>org.springframework.boot</groupId> 150 <artifactId>spring-boot-starter-actuator</artifactId> 151 </dependency> 152 </dependencies> 153 </dependencyManagement> 154 155 <build> 156 <plugins> 157 <plugin> 158 <groupId>org.springframework.boot</groupId> 159 <artifactId>spring-boot-maven-plugin</artifactId> 160 </plugin> 161 </plugins> 162 </build> 163 <modules> 164 <module>com.custorm</module> 165 <module>com.eureka</module> 166 <module>com.login</module> 167 <module>com.config</module> 168 <module>com.zuul</module> 169 <module>com.user</module> 170 <module>com.logins</module> 171 </modules> 172 </project>
1 com.parent: 2 所有工程的父類,統一管理所有工程jar包 3 com.login,com.custorm:(module工程) 4 com.parent子類,基礎測試包,可根據實際場景進行實現 5 com.base:(普通工程) 6 com.parent子類,工具包,在login工程中有使用示例 7 com.eureka: 8 註冊中心,所有服務註冊到此工程 9 com.config: 10 配置中心,統一管理各個工程配置檔案,檢視配置中心檔案是否正常載入 http://127.0.0.1:8001/application/configure
接下來我們建立註冊中心工程,com.eureka,pom.xml如下:
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 2 <modelVersion>4.0.0</modelVersion> 3 <parent> 4 <groupId>com.cn.bodhi</groupId> 5 <artifactId>com.parent</artifactId> 6 <version>0.0.1-SNAPSHOT</version> 7 </parent> 8 <artifactId>com.eureka</artifactId> 9 <dependencies> 10 <dependency> 11 <groupId>org.springframework.cloud</groupId> 12 <artifactId>spring-cloud-starter-eureka-server</artifactId> 13 <version>1.4.4.RELEASE</version> 14 </dependency> 15 </dependencies> 16 </project>
接下來建立啟動類,啟動類很簡單:
1 package com.cn.bodhi.eureka; 2 3 import org.springframework.boot.SpringApplication; 4 import org.springframework.boot.autoconfigure.SpringBootApplication; 5 import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; 6 import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration; 7 import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; 8 import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; 9 10 @EnableEurekaServer 11 @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class,DataSourceTransactionManagerAutoConfiguration.class,HibernateJpaAutoConfiguration.class}) 12 public class EurekaStart { 13 public static void main(String[] args) { 14 SpringApplication.run(EurekaStart.class, args); 15 } 16 }
這樣,我們的註冊中心工程就寫完了,然後啟動測試,出現如下介面,說明註冊中心服務正常
這樣的介面看起來不太友好,所以我們進行改造,
在spring-cloud-netflix-eureka-server-xx.xx.xx.jar
依賴檔案內我們可以找到tempaltes.eureka
目錄,如下圖:
static.eureka,templates.eureka
目錄下存放了Erueka Server
管理頁面的模板檔案和一些靜態檔案,我們可以將模板檔案複製出來到當前專案的resources/templates/eureka
目錄下,然後進行自定義介面內容。
header.ftlh
:頂部選單導航模板頁面lastn.ftlh
:服務註冊記錄模板頁面navbar.ftlh
:首頁導航欄資訊模板頁面status.ftlh
:服務所在伺服器的基本狀態模板頁面
想改文字改文字,想改圖片改圖片,看個人喜好,改完之後重啟專案,如下圖,個人隨便改了下,勿噴;
這樣我們就可以將註冊中心的頁面改造成自己喜歡的頁面了
有人還說啟動日誌沒有自己的logo,看起來不太喜歡,那麼接下來我們改造啟動日誌,同樣,我們在工程中resources目錄下新建一個banner.txt的檔案,如圖所示:
在這裡面我們可以寫入帶有自己logo的標誌,這樣,服務啟動日誌的logo就換成你的了,如下圖:
以上就是eureka改造自定義頁面和啟動日誌的全部