无法在spring启动应用程序中读取application.properties

时间:2017-09-10 20:36:57

标签: java spring spring-boot

我无法在从另一个项目注入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

初始化为值

1 个答案:

答案 0 :(得分:1)

如果要获取application.properties值,则必须有两个选项。 1)您可以自动装配Environment类并将其getProperty()方法用作

@Autowired
Environment env;
env.getProperty("${env.host}");

2)@Value注释

@Value("${env.host}")
    String HOST_PROPERTY;