我将所有数据撤回到属性中,例如:
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();
}