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();
    }
}
相关推荐
掘金一周2 分钟前
前端一行代码生成数千页PDF,dompdf.js新增分页功能| 掘金一周 12.25
前端·javascript·后端
咕噜签名-铁蛋2 分钟前
云服务器故障服务保障体系构建与实践
服务器
ServBay3 分钟前
掌握这9个GO技巧,代码高效又高能
后端·go
rchmin4 分钟前
Spring Boot自动装配原理解析
java·spring boot·后端
·云扬·5 分钟前
Linux系统下MySQL服务器关键配置优化指南
linux·服务器·mysql
程序员小假11 分钟前
我们来说一下 synchronized 与 ReentrantLock 的区别
java·后端
·云扬·12 分钟前
MySQL分页查询优化:从基础到进阶实践
数据库·mysql·oracle
益达32113 分钟前
【避坑指南】Maven依赖冲突怎么解决?用mvn dependency:tree一眼看清
java
码事漫谈34 分钟前
C++多线程中join与detach机制深度解析
后端
同聘云35 分钟前
阿里云云服务器云备份满了可以删除吗?不小心把备份删除了怎么办
服务器·阿里云·云计算