Spring中的参数统一配置

情景:

在一个Spring项目中通常存在如数据库 url,账号,密码等需要人为配置的参数,此类参数并非固定,很可能会发生变化,所以一般会统一集中在一个文件中,方便统一管理

解决方法

1.在项目resources目录下,创建application.yml文件

复制代码
minio:
  endpoint: http://<hostname>:<port>
  access-key: <access-key>
  secret-key: <secret-key>
  bucket-name: <bucket-name>

2.创建参数类

复制代码
设置前缀,yml文件的参数会自动映射到类中的参数上(自动开启驼峰命名)
@ConfigurationProperties(prefix = "minio")
@Data
public class MinioProperties {
    private String endpoint;
    private String accessKey;
    private String secretKey;
    private String bucketName;
}

3.创建配置类

复制代码
@Configuration
//@EnableConfigurationProperties({MinioProperties.class})
//在指定包下,自动查找,引用之前设置的参数类
@ConfigurationPropertiesScan("com.atguigu.lease.common.minio")
public class MinioConfiguration {
    @Autowired
    private MinioProperties minioProperties;


    @Bean
    public MinioClient minioClient() {
        return new MinioClient.Builder().endpoint(minioProperties.getEndpoint())
                .credentials(minioProperties.getAccessKey(), minioProperties.getSecretKey())
                .build();
    }
}
相关推荐
lv__pf1 分钟前
Sentinel【TL微服务10、11】
java·微服务·sentinel
惜分飞4 分钟前
obet forcecopy功能抢救硬件故障中的数据文件
数据库·oracle
Escalating_xu19 分钟前
【C++ string 上篇】从字符串基础到容量管理、迭代器与经典算法题
java·c++·算法
SatanII24 分钟前
从零认识云计算|走进云时代,看懂服务器底层基石
运维·服务器·云计算
TDengine (老段)28 分钟前
TDengine 应用案例 — 能源与电力监控
大数据·数据库·物联网·能源·时序数据库·tdengine·涛思数据
啦啦啦啦啦zzzz35 分钟前
ET和LT详解
linux·运维·服务器·网络·c++·网络编程
田径他爸来了39 分钟前
嵌入式学习第32天(同时多个用户访问的服务器)
运维·服务器·学习
曹牧39 分钟前
Java:Java 数组转 List
java·开发语言·windows
wefg141 分钟前
C++ 仿 muduo 库实现高并发服务器
运维·服务器
MetaLite42 分钟前
Spring-MVC微服务接口怎么分层-网关Controller与Service边界
spring·微服务·mvc