弹簧值:不正确显示字段



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

email.content.charset=utf-8

我创建了一个包含所有属性的类,ResourcesProperties,其中我有这个字段和getter:

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

请帮助我解决问题。

你需要注册 PropertySourcesPlaceholderConfigurer bean

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

最新更新