java - 为特定上下文自定义 Spring Boot 属性的更简单方法

标签 java spring spring-boot spring-boot-starter

我有一个使用 YAML 的项目,该项目的所有默认启动属性均带有前缀 spring.jms.*spring.activemq.*...我正在将其移至启动器,因此我需要将内部组件所需的配置与导入器应用程序的默认配置隔离开来。

有什么办法可以很好的解决这个需求吗?理想情况下,我可以透明地从相同的属性类(JmsConfiguration 等)中获利,因为它们包含嵌套配置。也许在某种程度上,我有 2 个带有 spring.jms 等的 block ,并将我的属性标记为来自特定 block 。

我知道配置文件存在,但通过启动器从可选组件驱动它们感觉很奇怪。

最佳答案

找到了!

在@Configuration中:

  @Bean
  @ConfigurationProperties("custom.jms")
  public JmsProperties customJmsProperties(){
    return new JmsProperties();
  }

无论如何,在与 Pivotal 人员进行一些讨论后,看来我的需求可能是糟糕设计的标志

关于java - 为特定上下文自定义 Spring Boot 属性的更简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45017860/

相关文章:

java - 无法从 Php Exec() 函数执行 java Jar?

java - 逻辑java的词频计数器问题

java - 为什么要导入内部类?

java - 理解Spring AOP

java - Kotlin 中的 Spring 服务初始化流程

java - MongoDB:java.lang.IllegalStateException:状态应该是:打开

java - Jersey - 尽管非空初始化,资源变量仍为空值

spring - Spring Boot运行错误bootRun工作正常,但应用程序运行不正常

java - log4j2.xml 已加载但未应用 [JVM 参数]

java - Spring Boot 组件扫描不起作用