用java类来承载配置参数

发布于:2024-12-18 ⋅ 阅读:(48) ⋅ 点赞:(0)

关于使用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


网站公告

今日签到

点亮在社区的每一天
去签到