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();
    }
}
相关推荐
IT_陈寒7 分钟前
Java并行流把我坑惨了:原来不是线程安全的!
前端·人工智能·后端
zzh___zzh17 分钟前
SQL 窗口函数 ROW_NUMBER、RANK、DENSE_RANK 常用方法笔记
java
计科土狗26 分钟前
GESP六级专题之类与对象
java·前端·数据库
麦聪聊数据42 分钟前
数据治理 ROI(下):算清投入产出比,小切口落地快速验证价值
数据库
dyxal1 小时前
SSH本地端口转发完全解析:像“挖掘隧道”一样安全访问远程数据库
数据库·安全·ssh
Slow菜鸟1 小时前
第3篇:实操落地篇 · 3套企业标准工作流(IDEA可视化版)
java·ide·intellij-idea
weixin_440784111 小时前
Java基础常见题
java·开发语言·python·java基础
掉鱼的猫1 小时前
Hot-Plug 实战:运行期管理 Solon 插件
java·hotfix
Lihua奏1 小时前
跨域:浏览器到底拦住了什么
后端
云贝贝贝1 小时前
OceanBase认证体系介绍与备考指南
运维·服务器·oceanbase·1024程序员节