一、自定义配置类
1、自定义配置类用于存取项目配置文件已经定义的属性值,在类中添加我们要装配的属性。
其中@ConfigurationProperties 是 Spring Boot 提供的一个注解,用于将应用程序配置文件(如 application.properties 或 application.yml)中定义的属性绑定到 Java 对象上。
参数是 prefix 属性。此属性指定应绑定到注解类的所有属性的公共前缀。例如,如果将前缀设置为 "app",那么类似 app.name、app.port 等属性将绑定到类中相应的字段。
2、在配置类中加入get和set方法
(注意:因为配置类中的属性是静态属性,set方法不能为静态方法,否则会读取不到属性值!)
3、完整代码
package com.ruoyi.common.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "imagesync")
public class ImageSyncConfig {
private static String regionId;
private static String accessKeyId;
private static String secret;
public static String getRegionId() {
return regionId;
}
public void setRegionId(String regionId) {
ImageSyncConfig.regionId = regionId;
}
public static String getAccessKeyId() {
return accessKeyId;
}
public void setAccessKeyId(String accessKeyId) {
ImageSyncConfig.accessKeyId = accessKeyId;
}
public static String getSecret() {
return secret;
}
public void setSecret(String secret) {
ImageSyncConfig.secret = secret;
}
}
二、修改项目配置文件application.yml
打开application.yml文件,在文件中加入
imagesync:
regionId: xxxxxxx
accessKeyId: xxxxxxxxxxxxxxxxx
secret: xxxxxxxxxxxxxxxxx
三、调用
因为是静态属性,所以直接类名.get方法调用获取对应的数据即可
public static com.aliyun.facebody20191230.Client createClient() throws Exception {
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
.setAccessKeyId(ImageSyncConfig.getAccessKeyId())
.setAccessKeySecret(ImageSyncConfig.getSecret());
config.endpoint = "facebody.cn-shanghai.aliyuncs.com";
return new com.aliyun.facebody20191230.Client(config);
}