![](/img/trans.png)
[英]@PropertySource on a bean not picked up by Spring in JavaConfig
[英]Spring 4 @PropertySource not working when ResourceBundleMessageSource bean is registered
@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 之前的属性加载不起作用。 我能做些什么来测试它吗
我面临着同样的问题。 就我而言,我错过了添加以下 bean:
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
这使得属性加载正常工作。
您 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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.