我正在创建一个注册/激活IntegrationFlow
的自定义Spring Boot启动器。这最初是一个常规项目,但60%的自定义是通过YAML上的Spring Boot属性自动配置完成的。
我的问题是,当它移动到启动器时,我担心我的导入器项目会覆盖某些配置,因此集成将无法工作。
我该如何解决?基本上我想避免必须手动创建和设置Spring Boot为我做的所有bean链和依赖项(resttemplate
,objectmapper
,jms broker
),因为担心任何可能的存在在导入器项目中,以已注册的@Bean或YAML属性的形式。
理想情况下,有一种方法可以告诉我的启动器autoconfigurer“忽略导入器上的任何内容并使用具有我的YAML属性的私有上下文和推断,就好像导入器不存在,这适用于我,X,Y,Z bean真的想在@Conditional子句中注入导入器上下文“。
答案 0 :(得分:1)
使用自定义启动程序运行进程时,有一种方法可以指定属性/ yml文件的路径作为参数,spring boot将从该文件创建其上下文。这将确保仅使用您明确指定为输入参数的文件创建上下文。
这也意味着您可以为集成启动器提供单独的完整配置文件。
对于yaml文件的混合使用,据我所知,spring boot只能引用一个配置文件。如果这些信息可以帮助您,或者如果您可以使用启动器的一些示例代码进一步开发您的问题,请告诉我。