项目地址请到gitee下载查看https://gitee.com/xwb1056481167/spring-cloud
nacos的搭建配置请到https://blog.csdn.net/www1056481167/article/details/113612177
Nacos做配置中心
nacos替代了springCloud的config,在项目初始化时,要保证先从配置中心进行配置拉取,拉取配置之后,才能保证项目的正常启动。 springboot中配置稳健的加载优先顺序为,bootstrap优先级高于application。
以前是通过config去github上拉去配置,现在nacos自己封装了一套,直接去nacos里面读取配置信息即可
配置中心cloudalibaba-config-nacos-client3377
1、pom.xml
<!-- alibaba nacos config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- alibaba nacos 服务端 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2、配置规则
配置规则官网说明: https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html
表达式规则:
\${spring.application.name}-\${spring.profile.active}.\${spring.nacos.config.file-extension}
2.1、 bootstrap.yml
server:
port: 3377
spring:
application:
name: nacos-config-client
cloud:
nacos:
discovery:
server-addr: localhost:8848 #nacos服务注册中心地址
config:
server-addr: localhost:8848 #nacos作为配置中心地址
file-extension: yaml #指定yaml格式的配置
2.2、 application.yml
spring:
profiles:
active: dev
3、主启动类
@SpringBootApplication
@EnableDiscoveryClient
public class NacosConfigClientMain3377 {
public static void main(String[] args) {
SpringApplication.run(NacosConfigClientMain3377.class, args);
}
}
4、controller
@RestController
@Slf4j
@RefreshScope //支持nacos的动态刷新功能
public class ConfigClientController {
@Value("\${config.info}")
private String configInfo;
@Value("\${server.port}")
private String serverPort;
@GetMapping("configInfo")
public String getConfigInfo() {
return "serverPort: " + serverPort + "\\t\\n\\n configInfo: " + configInfo;
}
}
@RefreshScope 该注解谨记一定要添加,动态刷新nacos配置被修改的最新配置信息
访问
1、在nacos中创建上面配置的nacos-config-client-dev.yaml文件
1、访问 http://localhost:3377/configInfo
2、效果图
修改nacos的配置文件,实时刷新后会自动刷新到最新的配置信息