spring cloud 是基于spring boot 的。
通过@EnableEurekaServer注解声明注册中心服务器
通过@EnableEurekaClient注解来声明客户端服务发布
废话少说,干正事。
(这里需要注意,也可以通过在eclipse中添加插件sts来直接创建spring boot项目,则maven中pom.xml的内容就会自动生成。本篇最后会截图进行说明)
步骤一:建立一个maven项目,指代注册中心服务器 springcloud-EurekaServer,在pom.xml中导入依赖
(需要注意下版本的问题,spring boot1.5.2.RELEASE spring cloud Camden.SR6)
<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>springcloud-EurekaServer</groupId>
<artifactId>springcloud-EurekaServer</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Camden.SR6</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
</dependencies>
</project>
步骤二:配置参数application.properties(也可使用.yml)
spring.application.name=eureka-server
server.port=10001
#是否将自身注册
eureka.client.register-with-eureka=false
#如果为true,启动时报警.
eureka.client.fetch-registry=false
#表示向自身注册
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/
eureka.server.evictionIntervalTimerInMs=5000
步骤三:建立注册中心的启动类 使用@EnableEurekaServer注解
package com.cloud.main;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
System.out.println("******Eureka 微服务 已启动*****");
}
}
到这里我们可以启动运行试一下,注册中心就搭建好了。
接下来我们发布服务到这个注册中心上。
步骤四:建立服务发布的客户端。新建maven项目 springbloud-EurekaClient ,在Pom.xml中导入依赖
<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>springcloud-EurekaClient</groupId>
<artifactId>springcloud-EurekaClient</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Camden.SR6</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
步骤五:建立配置文件application.yml
eureka:
client:
serviceUrl:
defaultZone: http://localhost:10001/eureka/ #服务注册中心的地址
server:
port: 8081
spring:
application:
name: service-hello
#指代 spring.application.name=service-hello
步骤六:使用@EnableEurekaClient来声明发布服务,这里也同时使用@RestController来编写控制层代码在该类中,可以选择单独创建接口。
package com.cloud.main;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@EnableEurekaClient
@RestController
public class EurekaClientApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaClientApplication.class, args);
}
@Value("${server.port}")
private String port;
@RequestMapping("/hello")
public String home(@RequestParam String name) {
return "hello"+name+",i am from port:"+port;
}
}
步骤七:因为注册中心端我们已经开启了的,现在我们直接开启客户端注册服务。
再看一下注册中心。发布的服务名是客户端配置文件中的spring.application.name=service-hello
到这里就结束了。
番外:再eclipse中导入sts插件,直接创建springboot
步骤一:
步骤二:输入sts,下载插件
下载完成之后在创建项目的时候直接选择spring--spring boot就可以了