服务提供者是为其他系统提供服务的一方,服务提供者通过加入Eureka的服务治理体系中为服务消费者提供服务。
1、搭建项目
使用IDEA创建一个Spring Boot 项目spring-cloud-provider,该项目集成spring-cloud-parent父项目。
项目POM文件内容为:
<?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>com.chq.demo.spring-cloud</groupId>
<artifactId>spring-cloud-provider</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>spring-cloud-provider</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>com.chq.demo.spring-cloud</groupId>
<artifactId>spring-cloud-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<dependencies>
<!-- 添加Eureka的依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
</project>
2、配置application.yml文件
server:
port: 8081
spring:
application:
name: spring-cloud-provider # 项目名称尽量用小写
eureka:
client:
serviceUrl:
defaultZone: http://127.0.0.1:8001/eureka/ # 指定注册中心地址
instance:
preferIpAddress: true
3、创建一个实体类
public class UserEntity{
private Long id;
private String username;
private String password;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
4、创建一个Controller
@RestController
public class ProviderController {
@GetMapping("/{id}")
public UserEntity getUser(@PathVariable Long id) {
UserEntity entity = new UserEntity();
entity.setId(id);
entity.setUsername("张三");
entity.setPassword("123456");
return entity;
}
}
5、服务注册到Eureka
修改Spring Boot启动程序,通过@EnableDiscoveryClient注解,即可将spring-cloud-provider服务注册到Eureka上面去
@SpringBootApplication
@EnableDiscoveryClient
public class SpringCloudProviderApplication {
public static void main(String[] args) {
SpringApplication.run(SpringCloudProviderApplication.class, args);
}
}
6、启动项目
我们依次启动Eureka服务和spring-cloud-provider服务。
访问:http://localhost:8001/,如下图。我们会发现spring-cloud-provider服务已经被注册到了Eureka上面了。