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();
    }
}
相关推荐
晴天¥几秒前
Oracle DB 的相关管理工具
数据库·oracle
无限大61 分钟前
为什么"算法推荐"这么准?——从协同过滤到深度学习
后端
AIGCExplore10 分钟前
Jenkins 全局配置及工具验证教程
java·servlet·jenkins
Codeking__10 分钟前
Redis的value类型介绍——set
数据库·redis·缓存
qq_3181215915 分钟前
Java大厂面试故事:Spring Boot、微服务与AI场景深度解析
java·spring boot·redis·微服务·ai·kafka·spring security
林太白18 分钟前
Vite8 Beta来了,Rolldown携手Oxc
前端·javascript·后端
玛丽莲茼蒿20 分钟前
javaSE 集合框架(五)——java 8新品Stream类
java·开发语言
深圳市恒讯科技21 分钟前
Linux 文件权限指南:chmod 755、644、drwxr-xr-x 解析
linux·服务器·xr
程序员小假27 分钟前
设计一个支持万人同时抢购商品的秒杀系统?
java·后端
youyicc32 分钟前
Qt连接Pg数据库
开发语言·数据库·qt