基本
新建config服务
配置pom.xml
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
配置application.properties
#服务名称
spring.application.name=config
#端口号
server.port=4001
#注册中心
eureka.client.serviceUrl.defaultZone=http://frank:frank123456@127.0.0.1:1001/eureka/
#加载其他配置文件
spring.profiles.active=native
#加载本地配置文件地址
spring.cloud.config.server.native.search-locations=classpath:/config
新建user-dev.properties
code.name=frank2
配置Application
@EnableConfigServer
@SpringBootApplication
public class ConfigApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigApplication.class, args);
}
}
修改user服务
修改UserController
@RestController
@RefreshScope
public class UserController {
@Value("${code.name}")
private String name;
@PostMapping("/getUser2")
@ResponseBody
public String getUser2() throws Exception {
return "my name is "+name;
}
@PostMapping("/getUser")
@ResponseBody
public String getUser() throws Exception {
return "你好,我是frank";
}
新增bootstrap.properties
#对应文件规则的应用名
spring.cloud.config.name=user
#对应环境名
spring.cloud.config.profile=dev
#server端ip地址
spring.cloud.config.uri= http://127.0.0.1:4001/
#client端ip端口
server.port=4001
config服务高可用
修改application.properties
#端口号-移除至其他文件
#server.port=4001
#配置文件的目录地址
spring.profiles.active=native,config1
新建application-user1.properties
#端口号-移至当前文件
server.port=4001
新建application-user2.properties
#端口号-移至当前文件
server.port=4002
小结
- ConfigApplication 仅需添加@EnableConfigServer注解,@EnableEurekaClient注解可以不加,eureka 的jar不引入会不会有问题,未测,可自测
- user-dev.properties文件取名有要求,与bootstrap.properties文件中的spring.cloud.config.name,spring.cloud.config.profile要对应
- 注册中心的搭建,以及user服务的搭建,请参考【User】【Eureka】
*spring.profiles.active=native,config1中的native:是加载本地的配置,不使用Git配置,config1:是加载指定的启动配置文件 - bootstrap.properties文件,在项目启动中要优于application.properties文件,故,在服务启动的时候要先获取config服务的相关配置文件信息