SpringBoot中使用@Value()只能给普通变量注入值,不能直接给静态变量赋值
@Component
public class AliSampleConfig {
public static String accessKeyId;
public static String accessKeySecret;
public static String getAccessKeyId() {
return accessKeyId;
}
@Value("${alisms.accessKeyId}")
public void setAccessKeyId(String accessKeyId) {
AliSampleConfig.accessKeyId = accessKeyId;
}
public static String getAccessKeySecret() {
return accessKeySecret;
}
@Value("${alisms.accessKeySecret}")
public void setAccessKeySecret(String accessKeySecret) {
AliSampleConfig.accessKeySecret = accessKeySecret;
}
}
使用 @ConfigurationProperties 注入
@Component
@ConfigurationProperties(prefix = "alisms")
public class AliSampleConfig {
public static String accessKeyId;
public static String accessKeySecret;
public static String getAccessKeyId() {
return accessKeyId;
}
public void setAccessKeyId(String accessKeyId) {
AliSampleConfig.accessKeyId = accessKeyId;
}
public static String getAccessKeySecret() {
return accessKeySecret;
}
public void setAccessKeySecret(String accessKeySecret) {
AliSampleConfig.accessKeySecret = accessKeySecret;
}
}