@Configuration
@PropertySource("classpath:service.properties")
public class ApplicationConfig{
@Value("PROPERTY_MYSQL_JNDI_NAME")
private String jndiName;
}
这工作正常。但是,当我注册当ResourceBundleMessageSource bean注册时,Spring 4 @PropertySource不起作用
@Bean
public MessageSource messageSource() {
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
messageSource.setBasenames("resources/authentication");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
ApplicationConfig类中的bean以前的属性加载不工作。有什么我能做的事来测试它
是的。你指出的问题是正确的。谢谢。但我担心的是,当我使用@Bean在springContainer中注册'messageSource'时,由@PropertySource(“classpath:service.properties”)加载的属性文件消失。无法访问该propertyFile – shak
我正在使用@PageSource来加载我的数据库相关的属性。 @Value(CommonConstants.PROPERTY_MYSQL_JNDI_NAME) private String jndiName; public DataSource jndiDataSource(){ JndiDataSourceLookup dsLookup = new JndiDataSourceLookup(); dsLookup.setResourceRef(true); DataSource dataSource = dsLookup.getDataSource(jndiName); 返回dataSource; } ---有没有什么办法来实现这一点。 - – shak
@shak对不起,忽略了我以前的评论我已经再次测试过,它可以与两者兼容,我更新了我的答案。 –