java - 无法读取 spring boot 应用程序中的 application.properties

标签 java spring spring-boot

我无法读取我的项目中从另一个项目作为 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/

相关文章:

java - 如何访问 JpCap 数据包中的数据包信息

java - 我们可以避免 ejb 代理对象中的静态数据吗?

Spring Data Redis批量保存使用存储库太慢,如何管道存储库保存

java - Spring REST - 从实体构建链接

java - 如何在 Controller 、服务和存储库模式中使用 DTO

java - BoxWord 程序要么遇到错误,要么无法正确运行

java - 哪个 weblogic jar 文件包含 com.bea.logging.BaseLogRecord?

java - 如何在 Jooq 中使用 SelfJoin?

java - 如何将 java.util.stream.Stream 写入 StreamingResponseBody 输出流

java - "The Bean Validation API is on the classpath but no implementation could be found"阻止启动