服务端创建配置
客户端获取配置
依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
调整启动类获取配置
@SpringBootApplication
public class ProviderApplication {
public static void main(String[] args) {
ConfigurableApplicationContext applicationContext = SpringApplication.run(ProviderApplication.class, args);
String userName = applicationContext.getEnvironment().getProperty("user.name");
String userAge = applicationContext.getEnvironment().getProperty("user.age");
System.err.println("user name :"+userName+"; age: "+userAge);
}
}
必须使用bootstrap.properties
配置文件来配置Nacos Server地址
spring.application.name=nacos-config
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
同时需要注意,配置的ID需要和服务名称ID一样才有作用,公共的需要指定Data Id
当服务端改动了配置文件后,客户端能马上感知到,原理是客户端会没10毫秒请求一直配置文件的MD5,不一致就会拉取最新的
注意:默认拉取properties文件,如果没有使用该格式配置文件需要指定
spring.cloud.nacos.config.file-extension=yaml
动态感知
使用@value
读取后,如果发生改变,是无法改变对应值的,需要在该类上加@RefreshScope
注解