目标
向项目中集成Nacos配置。原项目是一个SpringBoot项目。这里假设我们无法修改原有项目的SpringBoot版本。
注意
在不动SpringBoot版本的前提下,根据SpringBoot的版本,确定Spring Cloud和Nacos版本。Nacos版本其实就是Spring Cloud Alibaba版本。在Nacos的文档里面有一个表格,确定应该使用的Nacos具体版本。 例如:我这里使用的是SpringBoot2.6.3,这应该使用Spring Cloud Alibaba2021.0.1.0版本。如果你使用的SpringBoot版本没有在Nacos官方文档里面出现,那就选一个与你使用的SpringBoot版本接近的Nacos版本吧。
步骤
pom.xml
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
bootstrap.yml
spring:
application:
name: myapp
#nacos组件
cloud:
nacos:
discovery:
# 服务注册地址
server-addr: ${NACOS_URL:https://xxx.xxxx.com.cn}
namespace: ${NACOS_NAME_SPACE:123412437-2343-423d-sdads3-zw3r3}
username: ${NACOS_NAME:xxx}
password: ${NACOS_PASS:xxx}
group: ${SPRING_PROFILES_ACTIVE:dev}
config:
# 配置中心地址
server-addr: ${NACOS_URL:https://xxxx.xxxx.com.cn}
namespace: ${NACOS_NAME_SPACE:123412437-2343-423d-sdads3-zw3r3}
file-extension: yaml
username: ${NACOS_NAME:sss}
password: ${NACOS_PASS:xxxx}
group: ${SPRING_PROFILES_ACTIVE:dev}
server:
port: 8080
HelloController.java
@RefreshScope
@RestController
@RequestMapping("/hello")
public class HelloController {
@Value("${useLocalCache:false}")
private boolean useLocalCache;
@RequestMapping("/nacos/get")
public boolean get() {
return useLocalCache;
}
}
Nacos配置
myapp-dey.yml
useLocalCache:true
测试
现在结果为true,于预期结果一直,Spring读到了Nacos里面的配置数据。 接下来,将nacos里面的结果修改成false: 再用Postman调用一下,查看Spring读到的配置数据: Spring读到了Nacos里面的配置。到此,Nacos集中配置就能够正常使用了。
总结
这里是先确定使用的SpringBoot版本,然后,进一步确定Spring Cloud和Spring Cloud Alibaba的版本。然后,就可以使用Nacos了,最好再考虑一下使用的Nacos服务端版本。
参考
Nacos Spring Cloud 快速开始版本说明
相关链接
发表评论