1. 程式人生 > 實用技巧 >Eureka自定義介面及啟動日誌

Eureka自定義介面及啟動日誌

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改造自定義頁面和啟動日誌的全部