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();
    }
}
相关推荐
Felix_XXXXL21 分钟前
mysql查看binlog日志
java·后端
n***632722 分钟前
MySQL数据库的数据文件保存在哪?MySQL数据存在哪里
数据库·mysql
leonardee25 分钟前
Plugin ‘mysql_native_password‘ is not loaded`
java·后端
SelectDB32 分钟前
从 Flink 到 Doris 的实时数据写入实践——基于 Flink CDC 构建更实时高效的数据集成链路
数据库
普通网友37 分钟前
使用Flask快速搭建轻量级Web应用
jvm·数据库·python
珹洺40 分钟前
Java-Spring入门指南(三十一)Android意图(Intent)
android·java·spring
Seven9741 分钟前
剑指offer-39、平衡⼆叉树
java
百锦再1 小时前
第17章 模式与匹配
开发语言·后端·python·rust·django·内存·抽象
q***18841 小时前
Spring Boot 3.3.4 升级导致 Logback 之前回滚策略配置不兼容问题解决
java·spring boot·logback
k***92161 小时前
redis连接服务
数据库·redis·bootstrap