本文主要是介绍动态读取nacos中修改的项目配置文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本项目用的还是springboot
项目,咱们直接上代码
一:首先看下nacos中需要动态获取的属性
二:把需要动态读取的配置类中的属性整理一个实体类
mport lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;@Data
@ConfigurationProperties(prefix = "spring.datasource")
@Component
public class DataSourceEmpty {private String driverClassName;private String password;private String url;private String username;
}
1:注意nacos中配置的是spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver 。spring.datasource.driver-class-name用 - 横岗连接的属性。实体类中则对应驼峰即可。
2:prefix 是 spring.datasource。driverClassName 是driver-class-name。主要就是利用@ConfigurationProperties这个注解实现。
3:springcloud则是用@RefreshScope注解来实现的。
三:主体代码
@RestController
@RequestMapping("/nacos")
public class nacosController {@Autowiredprivate DataSourceEmpty dataSourceEmpty;/*** 结合DataSourceEmpty类已经实现动态获取* @return*/@GetMapping("getNacosValue1")public String getValue1(){return "getNacosValue1:"+dataSourceEmpty.getUsername()+","+dataSourceEmpty.getPassword()+","+dataSourceEmpty.getDriverClassName()+","+dataSourceEmpty.getUrl();//输出:getNacosValue1:hlr2261226HLR}
输出:
getNacosValue1:root,hlr2261226HLR,com.mysql.cj.jdbc.Driver,jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
这篇关于动态读取nacos中修改的项目配置文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!