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();
    }
}
相关推荐
景天科技苑4 分钟前
【Golang】Go语言中如何进行包管理
开发语言·后端·golang·go mod·go语言包管理·go包管理·go sum
AIGC绘画5 分钟前
Spring微服务概述之spring cloud alibaba服务调用实践
java·spring·微服务
wwangxu6 分钟前
Java 面向对象基础
java·开发语言
致奋斗的我们9 分钟前
RHCE的学习(7)
linux·服务器·网络·学习·redhat·rhce·rhcsa
petaexpress12 分钟前
云存储的费用是多少?2024年最新价格表
运维·服务器·云存储·云存储的费用是多少·云存储的费用是多少最新·云存储费用
秦朝胖子得加钱20 分钟前
Flask
后端·python·flask
uzong23 分钟前
JDK高性能套路: 自旋(for(;;)) + CAS
java·后端
幽兰的天空35 分钟前
python实现excel数据导入数据库
数据库
昨天今天明天好多天1 小时前
【Linux】ClickHouse 部署
linux·服务器·clickhouse
taolichao301 小时前
架设一台NFS服务器,按照要求配置
linux·运维·服务器