【问题标题】:Spring Boot - Access values from application.ymlSpring Boot - 从 application.yml 访问值
【发布时间】:2018-11-06 20:50:52
【问题描述】:

我创建了一个带有 indexName 属性的 Indexable 注释,这个注释必须放在一个类的顶部,我想为我在 application.yml 文件中定义的 indexName 添加一个前缀

application:
  elasticsearch:
    prefix: dev_

@Indexable(indexName = "${application.elasticsearch.prefix}address")
public class Address implements Serializable {

}

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface Indexable {

  String indexName() default "";

}

【问题讨论】:

  • 你试过这个stackoverflow.com/a/47178928/4235401 吗?
  • @ConfigurationProperties 获取类内应用程序文件中的值,但我想将它放在类上方
  • 看看stackoverflow.com/a/14276270/5098338。我相信这会有所帮助。解决方案可能会有所不同,具体取决于 jdk 版本。借助此调整,您将能够在运行时更改注释值。
  • thnx @jahra ^^ ,我发现jdk的版本有问题,但是我在这个article找到了解决办法

标签: java spring spring-boot


【解决方案1】:

在要设置值的字段上使用@Value("${yaml.path.to.value}") 注释。例如对于 yaml.path.to.value :


yaml:
  path:
    to:
     value: someValue

使用 yml 时注意空格。

【讨论】:

    猜你喜欢
    • 2020-08-05
    • 2019-11-24
    • 2014-09-15
    • 2017-04-04
    • 2014-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-19
    相关资源
    最近更新 更多