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();
    }
}
相关推荐
菜鸟plus+1 分钟前
Java NIO
java·nio
君不见,青丝成雪1 分钟前
Java中IntStream的详细用法及典型案例
java
QiZhang | UESTC2 分钟前
JAVA算法练习题day11
java·开发语言·python·算法·hot100
IT_陈寒2 分钟前
React 性能优化必杀技:这5个Hook组合让你的应用提速50%!
前端·人工智能·后端
FenceRain3 分钟前
spring boot 拦截器增加语言信息
java·spring boot·后端
星月前端3 分钟前
idea没法识别springboot项目的一个原因解决及办法
java·spring boot·intellij-idea
爱笑的源码基地4 分钟前
智慧城管源码,java版城管综合执法监督系统微服务源码
java·源码·软件开发·智慧城管·城管执法系统·数字城管·城管综合管理系统
bigdata-rookie4 分钟前
Java 反射
java·开发语言
烽学长5 分钟前
(附源码)基于Spring Boot社区“邻里帮”平台的设计与实现
java
森林-8 分钟前
MyBatis 从入门到精通(第一篇)—— 框架基础与环境搭建
java·tomcat·mybatis