【问题标题】:Java spring does not read properly values from application.propertiesJava spring 无法从 application.properties 中正确读取值
【发布时间】:2018-02-11 07:53:09
【问题描述】:

application.properties 文件有一个非常棘手的问题,因为我无法使用 java spring 从该文件中正确读取。下面给出简单的源代码。提前谢谢你。

application.properties file

message.username=john12345

Messages.java

@Value("${message.username}")
private String username;

它抛出一个FileNotFoundException 并显示该值始终为null

【问题讨论】:

  • 你配置propertyconfigurer了吗?
  • 使用上下文命名空间有proprtyplaceholder元素吗?
  • 然后显示代码?
  • 实际的问题是该值总是返回null。我不使用任何 applicationContext.xml。
  • 您将 application.properties 存储在哪里?你什么时候检查username 是否为空?类是否包含 username 字段是 Spring bean/组件?

标签: java spring-boot application.properties


【解决方案1】:

你应该在你的 spring 上下文中配置property-placeholder

<context:property-placeholder location="classpath*:my.properties"/

【讨论】:

  • spring boot 不需要,因为 application.properties 文件会被自动获取。
【解决方案2】:

您的 Messages 类似乎是一个不受 Spring 管理的 POJO。 只有在 spring 控制的实例内部,您才能读取应用程序属性。

【讨论】:

    猜你喜欢
    • 2018-01-07
    • 2018-09-15
    • 1970-01-01
    • 2021-02-14
    • 2017-08-31
    • 2020-07-08
    • 1970-01-01
    • 2020-06-29
    • 2019-09-18
    相关资源
    最近更新 更多