【问题标题】:Spring: How to access a property from the properties file so as to use the property in an entity in springSpring:如何从属性文件中访问属性,以便在spring中使用实体中的属性
【发布时间】:2019-11-19 22:57:18
【问题描述】:

我有一个使用 @NamedStoredProcedureQuery 的实体类,其中包含存储过程名称的属性 (procedureName)。用于查询的存储过程的名称在不同的环境中是不同的,因此我想从属性文件中获取名称(不同环境的属性文件也不同)。

我看到了一个类似的问题similar question in SO,人们提到不应该这样做,但这不是用例吗?这可以在不需要访问属性文件的情况下以不同的方式完成吗?

【问题讨论】:

  • 注解属性必须是编译时常量。它不能是动态加载的运行时值。所以不,你不能那样做。
  • @JBNizet 感谢您的回复,出于我自己的澄清目的,我想将其发布。但是对于例如。 "@"Value 注释从我们指定属性的属性文件中获取值(我们没有将其指定为常量)。假设 app.properties 文件包含: factory.name.url = "example.com" 在包含 "@" 配置注释的类中,可以为其中一个类字段分配一个值,例如 "@"Value("${factory.name .url}”)。自从它从属性文件中读取并为其分配值后,它不是运行时间吗?
  • ugadi 是正确的。习惯于从 jar 中运行的开发人员可能会认为该属性是永久的,因为它被密封在 jar 中,但通常可以更改属性文件。
  • NamedStoredProcedureQuery 不是 Spring 注释。不支持 Spring 不由 Spring 处理的 Java EE 注释中的 Spring EL 表达式。

标签: java spring spring-boot spring-data-jpa javabeans


【解决方案1】:

Spring Dev Tools 允许您执行此操作。

阅读全局设置文件部分:

https://howtodoinjava.com/spring-boot2/developer-tools-module-tutorial/

【讨论】:

    猜你喜欢
    • 2021-03-15
    • 1970-01-01
    • 2012-09-29
    • 2011-02-15
    • 1970-01-01
    • 2011-10-01
    • 2012-10-21
    • 1970-01-01
    • 2019-10-23
    相关资源
    最近更新 更多