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();
    }
}
相关推荐
程序员Agions1 分钟前
程序员邪修手册:那些不能写进文档的骚操作
前端·后端·代码规范
帅气的你4 分钟前
Spring Boot 集成 AOP 实现日志记录与接口权限校验
java·spring boot
肌肉娃子5 分钟前
20260109.反思一个历史的编程的结构问题-更新频率不一致的数据不要放在同一个表
后端
学Linux的语莫11 分钟前
linux的root目录缓存清理
linux·运维·服务器
oMcLin12 分钟前
如何在 SUSE Linux Enterprise Server 15 上部署并优化 K3s 集群,提升轻量级容器化应用的资源利用率?
linux·运维·服务器
zhglhy24 分钟前
Spring Data Slice使用指南
java·spring
win x36 分钟前
Redis 主从复制
java·数据库·redis
周末吃鱼42 分钟前
MySQL CTE:SQL查询新模式
数据库·sql·mysql
凌览1 小时前
2026年1月编程语言排行榜|C#拿下年度语言,Python稳居第一
前端·后端·程序员
Ghost Face...1 小时前
深入解析YT6801驱动模块架构
linux·运维·服务器