关于使用java类来承载配置参数
前言
在平时的开发中,如果需要用到配置参数,一般是通过@Value注解来引入参数,如:
@Value(value = "${spring.redis.port:}")
private String singleport;
@Value(value = "${spring.redis.password:}")
private String singlepassword;
@Value(value = "${spring.redis.cluster.nodes:}")
private String host;
@Value(value = "${spring.redis.password:}")
private String password;
哪里需要就在哪里引入。如果需要引用的地方较多,那么就会造成管理混乱,如修改了参数名,或新增参数。
因此可以考虑将同一块功能的配置参数放在一个类里。
使用两个注解:
@Component
@ConfigurationProperties
一、使用两个注解来实现
nacos中的参数示例为:
//关于图数据的配置参数
graph:
url: bolt://1xx.xxx.xxx.xxx:7688
username: xxxx
password: xxx65
database: xxxx
使用java类来管理配置参数
@Data
@Component
@ConfigurationProperties(prefix = "graph")
public static class TuGraphConfigProperties {
private String url;
private String username;
private String password;
private String database;
}
代码里使用java配置类
public Driver getInstance() {
if (driver == null) {
synchronized (TuGraphConfig.class) {
if (driver == null) {
driver = GraphDatabase.driver(configProperties.getUrl(),
AuthTokens.basic(configProperties.getUsername(), configProperties.getPassword()),
Config.builder().build());
}
}
}
return driver;
}
总结
记录下工作中的小细节,方便以后copy