我无法读取我的项目中从另一个项目作为 bean 注入(inject)的类中的 application.properties 值。我的项目正在使用另一个项目,该项目具有需要从 application.properties 读取配置的类。 我的是一个 Maven 项目和一个在 src/main/resources 文件夹中具有 application.properties 的 spring boot 应用程序,这些属性值在其中定义。 我错过了什么,它无法读取文件值?或者是否有任何其他机制可以为通过组件扫描加载的类设置这些属性
下面的代码行工作正常,它能够从 application.properties 中读取值: @PostConstruct void init() 抛出 ClassNotFoundException,IOException { System.out.println(context.getEnvironment().getProperty("env.host", “默认值”));
现在我正在使用另一个项目。当加载类时,这些 bean 被初始化为另一个类的依赖项,它还会尝试在常量文件中读取相同的值作为
static final String HOST_PROPERTY = "${env.host}";
这个值没有被初始化为 applictaion.properties 的值
最佳答案
如果你想获得 application.properties 值,你有两个选择。 1) 您可以 Autowiring Environment 类并将其 getProperty() 方法用作
@Autowired
Environment env;
env.getProperty("${env.host}");
2)@Value注解
@Value("${env.host}")
String HOST_PROPERTY;
关于java - 无法读取 spring boot 应用程序中的 application.properties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46145351/