我无法在从另一个项目注入bean的类中读取项目中的application.properties值。我的项目正在使用另一个项目,该项目具有需要从application.properties读取配置的类。 我是一个maven项目和一个Spring引导应用程序,在src / main / resources文件夹中有application.properties,并在其中定义了这些属性值。 我错过了什么,它无法读取文件值?或者是否有任何其他机制为通过component-scan
加载的类设置这些属性下面的代码行正常,它能够从application.properties中读取值: @PostConstruct void init()抛出ClassNotFoundException,IOException { 。的System.out.println(context.getEnvironment()的getProperty(" env.host&#34 ;, "默认值")); }
现在我正在使用另一个项目。当加载类时,这些bean被初始化为另一个类的依赖项,它也尝试在常量文件中读取相同的值
static final String HOST_PROPERTY = "${env.host}";
此值未从applictaion.properties
初始化为值答案 0 :(得分:1)
如果要获取application.properties值,则必须有两个选项。 1)您可以自动装配Environment类并将其getProperty()方法用作
@Autowired
Environment env;
env.getProperty("${env.host}");
2)@Value注释
@Value("${env.host}")
String HOST_PROPERTY;