以前開發一直使用eclipseIDE,但微服務框架這塊用起來卻不甚理想,沒有那麼智能了,並且感受出錯的概率很大(掉進坑裏很久才爬出來的)。後來用起了IDEA來進行開發,不得不感嘆:高效、智能啊,用的真心愜意。下面給你們分享一下:java
首先給IDEA配置好環境,好比JDK、Maven啥的,這個我就不詳述了,自行百度吧。web
爲了讓目錄層次結構更好看些,先建立一個父項目,也是Maven Project的,建立後刪除不須要的東西,好比生成的pom.xml,src目錄等。而後就是建立子項目了,先看下總體結構:spring
一、建立服務端Serverapache
見圖說話,幾分鐘搞定,並且出錯概率小:app
右鍵父項目->New->Module,選擇Spring Initalizr,配置好SDK,這裏須要聯網才行,否則默認的URL加載不出來:框架
下一步點擊Next,這裏的Artifact好像不支持大寫,這個不是重點:eclipse
最後,點擊Next,選擇Cloud Discovery->Eureka Server便可。maven
完成後,會自動生成Application.java、空白的配置文件和配置好的pom.xml,固然須要什麼本身添加就是了,下面是個人配置:spring-boot
pom.xml微服務
<?xml version="1.0" encoding="UTF-8"?> <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"> <modelVersion>4.0.0</modelVersion> <groupId>EurekaServer</groupId> <artifactId>eurekaserver</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>eurekaserver</name> <description>Demo project for Spring Boot</description> <!-- 基於Springboot --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <!-- 設置字符編碼及java版本、spring-cloud版本 --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> <spring-cloud.version>Edgware.RELEASE</spring-cloud.version> </properties> <dependencies> <!-- 增長eureka-server的依賴 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> </dependency> <!-- 用於測試的,可省略 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <!-- 依賴管理,用於管理spring-cloud的依賴,其中${spring-cloud.version}對應的Edgware.RELEASE是版本號 --> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
application.properties
#端口 server.port=1111 #應用名稱 spring.application.name=eureka-server-01 #註冊中心 eureka.client.serviceUrl.defaultZone=http://localhost:2222/eureka/
EurekaServerApplication.java
package eurekaserver.eurekaserver; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @EnableEurekaServer @SpringBootApplication public class EurekaserverApplication { public static void main(String[] args) { SpringApplication.run(EurekaserverApplication.class, args); } }
運行Application,服務界面以下,此時服務還沒有註冊:
二、建立客戶端Client
同建立Server同樣,只不過生成後須要修改部分便可,如pom.xml,下面是個人配置:
pom.xml
<?xml version="1.0" encoding="UTF-8"?> <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"> <modelVersion>4.0.0</modelVersion> <groupId>EurekaClient</groupId> <artifactId>eurekaclient</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>eurekaclient</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> <spring-cloud.version>Edgware.RELEASE</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!--表示爲web工程--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--顯示各類指標--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
application.properties
#端口 server.port=2222 #應用名稱 spring.application.name=eureka-client-01 #註冊中心 eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/
EurekaClientApplication.java
package eurekaclient.eurekaclient; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; @EnableEurekaClient @SpringBootApplication public class EurekaclientApplication { public static void main(String[] args) { SpringApplication.run(EurekaclientApplication.class, args); } }
運行Application,服務界面以下,此時服務註冊:
到此,服務註冊成功,是否是很方便呀,但願你們喜歡。