有可能PropertySourcesPlaceholderConfigurer
在弹簧上下文中比控制器晚初始化,因此无法解析这些值。尝试PropertySourcesPlaceholderConfigurer
在以下一个根配置文件中添加显式Bean定义;
@PropertySource("classpath:/dmConfig.properties")
public class DmWebConfigurer extends WebMvcConfigurerAdapter
{
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry)
{
super.addResourceHandlers(registry);
registry.addResourceHandler("/index.html").addResourceLocations("/");
registry.setOrder(Integer.MAX_VALUE-5);
}
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
}
之所以可以在init()
方法中正确看到这些值,是因为在初始化所有的bean(包括)之后调用了它PropertySourcesPlaceholderConfigurer
。