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();
    }
}
相关推荐
m0_521329036 分钟前
java-maven的生命周期
maven
喵手9 分钟前
如何利用Java的Stream API提高代码的简洁度和效率?
java·后端·java ee
-Xie-10 分钟前
Maven(二)
java·开发语言·maven
掘金码甲哥15 分钟前
全网最全的跨域资源共享CORS方案分析
后端
m0_4805026422 分钟前
Rust 入门 生命周期-next2 (十九)
开发语言·后端·rust
IT利刃出鞘22 分钟前
Java线程的6种状态和JVM状态打印
java·开发语言·jvm
薛晓刚27 分钟前
当MySQL的int不够用了
数据库
张醒言28 分钟前
Protocol Buffers 中 optional 关键字的发展史
后端·rpc·protobuf
鹿鹿的布丁1 小时前
通过Lua脚本多个网关循环外呼
后端
墨子白1 小时前
application.yml 文件必须配置哇
后端