1
我需要在啓動時添加一堆支持DB的屬性。 爲了測試整個事情的作品,我開始用這個(以下ds.username財產來自catalina.properties它的存在只是爲了驗證我沒有破壞任何東西。):Spring 3.1 ConfigurableWebApplicationContext屬性@Value未解析
public class PropertiesInitializer implements ApplicationContextInitializer<ConfigurableWebApplicationContext> {
@Override
public void initialize(ConfigurableWebApplicationContext ctx) {
try {
props.put("hello", "goodbye");
MutablePropertySources propertySources = ctx.getEnvironment().getPropertySources();
propertySources.addFirst(new MapPropertySource("dbProps", props));
}
catch(Exception e) {
e.printStackTrace();
}
}
我有一個@Controller而我這樣做:所以
@Autowired
Environment env;
@Value("${hello}")
public String hello;
@Value("${ds.username}")
public String un;
...
,當我打印的,「你好」和「聯合國」是空的,但實際上env.getProperties返回正確的價值觀。
爲什麼?
感謝
赫拉爾多·布蘭科