为特定上下文自定义 Spring 引导属性的更简单方法

Easier way to customize Spring Boot properties for a particular context

我有一个使用 YAML 的项目,所有默认启动属性都带有前缀 spring.jms.*spring.activemq.*...从导入器应用程序的默认值配置我的内部组件。

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

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

找到了!

在@Configuration中:

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

无论如何,在与 Pivotal 的人讨论后,我的需求似乎是糟糕设计的标志