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();
    }
}
相关推荐
AskHarries几秒前
做 SaaS 还是做 App
后端
lili00122 分钟前
Claude自动修Bug配置优化与避坑指南
java·人工智能·python·bug·ai编程
逻极2 分钟前
Java 从入门到精通:核心原理、最佳实践与性能优化
java·jvm·并发编程·集合框架
朝阳58111 分钟前
MySQL 主从复制 — Docker 双机灾备方案
数据库·mysql·docker
染翰11 分钟前
生产级 MySQL 内存占用过高排查指南
数据库·mysql
卷无止境12 分钟前
银行里的"等不了"——SimPy Bank Renege 示例全解析
后端
星栈15 分钟前
别再满项目乱丢 String:我开始给领域错误分层了
后端·代码规范
摇滚侠18 分钟前
SpringBoot 内嵌 TongWeb 东方通替换 Tomcat
java·spring boot·spring
卷无止境18 分钟前
SimPy 监控与数据收集:完整指南
后端
卷无止境18 分钟前
Event Latency:把"等待"这件事,交给电缆来负责
后端