当前位置: 代码迷 >> 综合 >> 《<SpringBoot 使用Nacos 启动【配置管理】》
  详细解决方案

《<SpringBoot 使用Nacos 启动【配置管理】》

热度:6   发布时间:2024-02-12 14:48:36.0
《<SpringBoot 使用Nacos 启动【配置管理】》1、添加依赖。
<dependency><groupId>com.alibaba.boot</groupId><artifactId>nacos-config-spring-boot-starter</artifactId><version>${latest.version}</version>
</dependency>
注意:版本 0.2.x.RELEASE 对应的是 Spring Boot 2.x 版本,版本 0.1.x.RELEASE 对应的是 Spring Boot 1.x 版本。2、在 application.properties 中配置 Nacos server 的地址:
nacos.config.server-addr=127.0.0.1:88483、使用 @NacosPropertySource 加载 dataId 为 example 的配置源,并开启自动更新:
@SpringBootApplication 
@ComponentScan(value = {"com.live.test.javaee.springboot.*" })
@NacosPropertySource(dataId = "example", autoRefreshed = true)
public class App {public static void main(String[] args) {
//	SpringApplication.run(HelloSpringBoot.class, args);ConfigurableApplicationContext context = SpringApplication.run(App.class, args);ConfigController bean = context.getBean(ConfigController.class);System.out.println(bean);}
}4、通过 Nacos 的 @NacosValue 注解设置属性值。@Component
@Controller
@RequestMapping("config")
public class ConfigController {// useLocalCache=true@NacosValue(value = "${useLocalCache:false}", autoRefreshed = true) //@NacosValue,是nacos提供的注解,支持自动刷新
//	@Value(value="${useLocalCache:false}") //@Value 是Spring提供的, 不支持自动刷新private boolean useLocalCache;@RequestMapping(value = "/get", method = GET)@ResponseBodypublic boolean get() {return useLocalCache;}}
5、启动 NacosConfigApplication,调用 curl http://localhost:8080/config/get,返回内容是 false。6、通过调用 Nacos Open API 向 Nacos server 发布配置:dataId 为example,内容为useLocalCache=true
curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=example&group=DEFAULT_GROUP&content=useLocalCache=true"
7、再次访问 http://localhost:8080/config/get,此时返回内容为true,说明程序中的useLocalCache值已经被动态更新了。