以阿里云OSS的相关配置信息为例,展示参数化的一种方式,即通过:yml配置文件+配置信息类+调用配置类中的get方法,获取配置文件中的数据
在调用阿里云OSS对象存储服务时,需要几个默认属性:
endpoint: https://oss-cn-hangzhou.aliyuncs.com
accessKeyId: LTAI5t7WZXoGADZ22D6PeoEw
accessKeySecret: *********************
bucketName: *****-bucket
这些属性不适合写死,故采用可配置的方式保存
1.在yml配置文件配置以下内容
aliyun: oss: endpoint: https://oss-cn-hangzhou.aliyuncs.com accessKeyId: LTAI5t7WZXoGADZ22D6PeoEw accessKeySecret: ********* bucketName: *****-bucket
2.在Common.properties(专门用于保存各种公共类的包)包中创建对应类,此处命名为aliyunOssProperty.java,用于存储并获取配置类文件中各属性的对应值。
@Component //交给容器管理 @ConfigurationProperties(prefix = "aliyun.oss:") //表示配置信息位置 @Data //get和set方法 public class AliOssProperties { private String endpoint; private String accessKeyId; private String accessKeySecret; private String bucketName; }
3.在实现oss服务时,通过
@Autowired private aliyunOssProperty aliyunoss;
注入aliyunOssProperty.java类,需要使用具体属性时,通过调用
String endpoint = aliyunoss.getEndpoint(); String accessKeyId = aliyunoss.getAccessKeyId(); String accessKeySecret = aliyunoss.getAccessKeySecret(); String bucketName = aliyunoss.getBucketName();
直接获取即可