Spring Value:错误显示字段

时间:2018-05-21 13:35:35

标签: java spring

我将所有数据撤回到属性,例如:

email.content.charset=utf-8

我创建了一个包含所有属性ResourcesProperties的类,其中我有这个字段&吸气剂:

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class ResourcesProperties {

    @Value("${email.content.charset}")
    private String emailCharset;

    public String getEmailCharset() {
        return emailCharset;
    }
}

Spring扫描此属性文件:

@PropertySource({"classpath:/properties/mail.properties"})

它自动进入我需要的课程:

@Autowired
private ResourcesProperties properties;

我试着表明:

System.out.println(properties.getEmailCharset());

结果:

${email.content.charset}

通过环境做同样的事情:

System.out.println(environment.getProperty("email.content.charset"));

结果:

utf-8

请帮我解决问题。

1 个答案:

答案 0 :(得分:2)

您需要注册PropertySourcesPlaceholderConfigurer bean

 @Bean
 public PropertySourcesPlaceholderConfigurer placeHolderConfigurer() {
     return new PropertySourcesPlaceholderConfigurer();
 }