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();
    }
}
相关推荐
程序员爱钓鱼几秒前
Node.js 编程实战:JWT身份验证与权限管理
前端·后端·node.js
程序猿阿越2 分钟前
Kafka源码(八)数据复制
java·后端·源码阅读
L1624765 分钟前
Windows 系统下 ZIP安装MySQL 详细操作步骤
数据库·windows·mysql
毕设源码-钟学长11 分钟前
【开题答辩全过程】以 基于java旅游网站的设计与实现为例,包含答辩的问题和答案
java·开发语言·旅游
杰克崔26 分钟前
glibc社区提问
linux·运维·服务器·车载系统
JuiceFS30 分钟前
JuiceFS 2025:迈入千亿文件规模,开源第五年持续高速增长
后端
zs宝来了33 分钟前
ArrayList源码阅读
java
小股虫34 分钟前
数据库外科手术:一份拖垮系统的报表,如何倒逼架构演进
数据库·微服务·设计模式·架构·方法论
wqdian_com38 分钟前
中文域名的准确展示能否堵住网络钓鱼攻击“后门”?
服务器·安全·php
gitboyzcf42 分钟前
Go(GoLang)语言基础、知识速查
后端·go