我正在创建一个注册/激活IntegrationFlow
的自定义Spring Boot starter。这最初是一个常规项目,但60%的定制是由YAML上的Spring Boot属性自动配置完成的。
我的问题是,当把它移到启动器时,我担心我的导入器项目会覆盖某些配置,因此集成将无法工作。
我该如何解决这个问题呢?基本上,我希望避免手动创建和设置Spring Boot为我做的所有Bean链和依赖项(resttemplate
、objectmapper
、jms broker
),因为我担心importer项目中可能存在注册的@Bean或YAML属性。
理想情况下,有一种方法可以告诉我的starter autoconfigurer“忽略导入器上的任何东西,并使用私有上下文和我的YAML属性以及推论,就好像导入器不存在一样,这适用于我真的想在给定@Conditional子句的导入器上下文中注入的X,Y,Z bean”。
发布于 2017-07-08 04:07:07
在使用自定义启动器运行进程时,有一种方法可以将properties/yml文件的路径指定为参数,spring boot将从该路径创建其上下文。这将确保上下文仅使用您显式给出的作为输入参数的文件来创建。
这也意味着您的集成启动器需要有单独的完整配置文件。
对于混合使用的yaml文件,据我所知,spring boot只能引用一个配置文件。请让我知道这些信息是否对你有帮助,或者你是否可以用你的初学者的一些示例代码来进一步开发你的问题。
https://stackoverflow.com/questions/44969928
复制