@Configuration
@PropertySource("classpath:service.properties")
public class ApplicationConfig{
@Value("PROPERTY_MYSQL_JNDI_NAME")
private String jndiName;
}
这工作正常。但是当我注册时
@Bean
public MessageSource messageSource() {
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
messageSource.setBasenames("resources/authentication");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
ApplicationConfig类中的bean以前的属性加载不起作用。有什么我可以做的测试吗
答案 0 :(得分:1)
我遇到了同样的问题。就我而言,我错过了添加以下bean:
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
使属性加载正常工作。
答案 1 :(得分:0)
你的messageSource是错的,假设你的authentication.properties在src / resources中,它应该如下所示:
@Bean
public MessageSource messageSource() {
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
messageSource.setBasenames("authentication");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
您仍然可以使用
@PropertySource("classpath:config.properties")
假设config.properties位于src / resources
中