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();
    }
}
相关推荐
小远同学3 分钟前
java Mavlink连接模拟器 开源软件Mission Planner简单使用(一)
后端
Jooolin3 分钟前
Flask 入门到实战:手把手带你构建第一个 Python Web 应用
后端·flask·ai编程
烟沙九洲3 分钟前
@Transactional 什么情况下会失效
java·spring
AIGC_北苏9 分钟前
Ubuntu 安装 Mysql 数据库
数据库·mysql·ubuntu
会飞的哈士奇15 分钟前
Html实现图片上传/裁剪/马赛克/压缩/旋转/缩放
java·spring·html
红鼻子时代17 分钟前
Django RBAC项目后端实战 - 03 DRF权限控制实现
后端·python·django·rabc
leo__52023 分钟前
在Ubuntu中设置开机自动运行(sudo)指令的指南
服务器·ubuntu·postgresql
语落心生25 分钟前
Mcp+Agent - 自动化BI报表实现方案探索
后端
摘星编程29 分钟前
原型模式深度解析:Java设计模式实战指南与克隆机制优化实践
java·设计模式·性能优化·原型模式·创建型模式·软件架构·对象克隆
liujing1023292935 分钟前
Day09_刷题niuke20250609
java·c++·算法