java客户端访问nacos配置使用总结
客户端访问nacos配置:
父工程:
子工程:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>3.1.0</version>
</dependency>
pom.yml
spring:
application:
name: userservice
profiles:
active: dev # 环境
cloud:
nacos:
server-addr: 127.0.0.1:8848 # nacos地址
config:
file-extension: yaml # 文件后缀名
namespace: 0223cc90-7cf0-4f11-a00d-fae7f81ea892
group: DEFAULT_GROUP
username: nacos
password: nacos
5.application.yml
cloud:
nacos:
config:
import-check:
enabled: false
6.配置一个对应要访问nacos yaml文件的类:
@Data
@Component
@ConfigurationProperties(prefix = "pattern")
public class PatternProperties {
private String dateformat;
private String mysqldb;
private String username;
private String password;
}
-
2种读取nacos配置文件数据的方法:
@Value("${pattern.mysqldb}")
private String dbip;@GetMapping("dbip")
public String dbip(){
return dbip;
}方法2:PatternProperties 类读取nacos
@ConfigurationProperties(prefix = "pattern")
public class PatternProperties {
private String dateformat;
private String mysqldb;
private String username;
private String password;
}
controller:
@Autowired
private PatternProperties properties;
@ApiOperation("Config")
@GetMapping("Config")
public Object Config(){
return properties;
}
9.数据热更新的2种方式:
最终的目的,是修改nacos中的配置后,微服务中无需重启即可让配置生效,也就是配置热更新。
方式1:
在@Value注入的变量所在类上添加注解@RefreshScope
方式2:
使用@ConfigurationProperties注解代替@Value注解。
在user-service服务中,添加一个类,读取patterrn.dateformat属性
10.【注意事项】:
spring-cloud-starter-alibaba-nacos-config 模块移除了 spring-cloud-starter-bootstrap 依赖,如果你想以旧版的方式使用,你需要手动加上该依赖,现在推荐使用spring.config.import方式引入配置。
如果你想使用bootstrap来进行配置的话,就在pom.xml文件里面添加该依赖即可,然后按照官方文档进行配置:
在pom.xml文件下引入依赖
pom.xml demo:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>3.1.0</version>
</dependency>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!