您的位置:首页 > 编程语言 > Java开发

SpringBoot将静态资源配置注入到工具类中

2017-03-21 00:00 489 查看
de  >@Configuration
@ConfigurationProperties(locations = "classpath:/config/qcloud.properties",
ignoreUnknownFields = true,
prefix = "qcloud")
public class QCloudProperties {

public static class properties{

}

private String appid;
private String secretId;
private String secretKey;
private String bucketName;
private String bucketLocation;

public QCloudProperties() {
}

//getter and setter
}de>

工具类:

de  >@Component
public class QCloudFileUtils {

@Resource
private QCloudProperties qCloudPropertiesAutowired;

private static QCloudProperties qCloudProperties;

@PostConstruct
public void init() {
qCloudProperties = this.qCloudPropertiesAutowired;
}

public static boolean upload() {
String appid = qCloudProperties.getAppid();
return false;
}
de>

SpringBoot读取application.properties文件,通常有3种方式

1. @Value 例如:

@Value("${spring.profiles.active}")

private String profileActive;------相当于把properties文件中的spring.profiles.active注入到变量profileActive中

2. @ConfigurationProperties 例如:

@Component
@ConfigurationProperties(locations = "classpath:application.properties",prefix="test")
public class TestProperties {
String url;
String key;

}

其他类中使用时,就可以直接注入该TestProperties 进行访问相关的值

3. 使用Enviroment 例如:

private Enviroment env;

env.getProperty("test.url");

而env方式效率较低

注:@ConfigurationProperties也可用于其他.properties文件,只要locations指定即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Spring Boot