Spring Cloud Eureka IDEA创建服务端和客户端

    之前开发一直使用eclipseIDE,但微服务框架这块用起来却不甚理想,没有那么智能了,而且感觉出错的几率很大(掉进坑里好久才爬出来的)。后来用起了IDEA来进行开发,不得不感叹:高效、智能啊,用的真心惬意。下面给大家分享一下:

    首先给IDEA配置好环境,比如JDK、Maven啥的,这个我就不详述了,自行百度吧。

    为了让目录层次结构更好看些,先创建一个父项目,也是Maven Project的,创建后删除不需要的东西,比如生成的pom.xml,src目录等。然后就是创建子项目了,先看下整体结构:

    1、创建服务端Server

    见图说话,几分钟搞定,而且出错几率小:

    右键父项目->New->Module,选择Spring Initalizr,配置好SDK,这里需要联网才行,不然默认的URL加载不出来:

     下一步点击Next,这里的Artifact好像不支持大写,这个不是重点:

    最后,点击Next,选择Cloud Discovery->Eureka Server即可。

    完成后,会自动生成Application.java、空白的配置文件和配置好的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>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 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,服务界面如下,此时服务尚未注册:

    2、创建客户端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,服务界面如下,此时服务注册:

    到此,服务注册成功,是不是很方便呀,希望大家喜欢。

文章来源:

Author:海岸线的曙光
link:https://my.oschina.net/u/3747963/blog/1593462