簡體   English   中英

注冊 ResourceBundleMessageSource bean 時,Spring 4 @PropertySource 不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM