【问题标题】:Spring Boot bounded autoconfigurationSpring Boot 有界自动配置
【发布时间】:2017-12-11 16:50:41
【问题描述】:

我正在创建一个注册/激活 IntegrationFlow 的自定义 Spring Boot 启动器。这原本是一个常规项目,但 60% 的自定义是通过 YAML 上的 Spring Boot 属性自动配置完成的。

我的问题是,当将其移至启动器时,我担心我的导入器项目会覆盖某些配置,因此集成将无法正常工作。

我该如何解决?基本上我想避免必须手动创建和设置 Spring Boot 为我做的所有 bean 链和依赖项(resttemplateobjectmapperjms broker),因为担心导入程序项目中可能存在已注册 @Bean 或 YAML 属性的形状。

理想情况下,有一种方法可以告诉我的启动器自动配置器“忽略导入器上的任何内容,并使用带有我的 YAML 属性和推断的私有上下文,就好像导入器不存在一样,这适用于我的 X、Y、Z bean真的很想在给定@Conditional 子句的导入器上下文中注入”。

【问题讨论】:

标签: java spring spring-boot


【解决方案1】:

当使用自定义启动器运行进程时,有一种方法可以将属性/yml 文件的路径指定为参数,spring boot 将从该路径创建其上下文。这将确保您只使用您明确给出的文件作为输入参数来创建上下文。

这也意味着您为集成启动器拥有单独的完整配置文件。

对于 yaml 文件的混合使用,据我所知,spring boot 只能引用一个配置文件。让我知道这些信息是否对您有帮助,或者您是否可以使用一些入门示例代码进一步提出您的问题。

【讨论】:

  • 我更关心 bean 方面,因为我总是可以选择将属性复制到自定义部分。但是我的 obejctmappers、resttemplates 等呢......我的应用正在使用它可能会被导入器项目覆盖
猜你喜欢
  • 2017-01-19
  • 2018-09-09
  • 2018-09-06
  • 1970-01-01
  • 1970-01-01
  • 2019-05-03
  • 2015-02-24
  • 1970-01-01
相关资源
最近更新 更多