情景:
在一个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(); } }