本项目用的还是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