在我的Spring @Configuration
类中,我希望将系统属性${brand}
注入名为brandString
的静态String bean中。我使用@PostConstruct
成功地使用https://stackoverflow.com/a/19622075/1019830中描述的解决方法,并为静态字段指定了通过@Value
注入的实例字段值:
@Configuration
public class AppConfig {
@Value("${brand}")
private String brand;
private static String brandString;
@PostConstruct
public void init() {
brandString = brand;
}
@Bean
public static String brandString() {
return brandString;
}
// public static PropertyPlaceHolderConfigurer propertyPlaceHolderConfigurer() {...}
是否有另一种方法可以将${brand}
的值静态注入brandString
字段,而无需使用其他" copy" brand
和@PostConstruct
方法?
答案 0 :(得分:1)
试试这个:
@Configuration
public class AppConfig {
private static String brand;
@Value("${brand}")
public void setBrand(String brand) {
AppConfig.brand = brand;
}
@Bean
public static String brandString() {
return brand;
}
...
}