我试图了解我们使用 @Configuration
制作的 beans 如何覆盖默认情况下由 SpringBoot 生成的 beans。我一直在做一个项目,在很多情况下,我们为 ZuulConfigs 之类的东西创建 beans,假设是,无论我们做什么,都应优先于默认生成的 bean。我一直试图弄清楚这一点,但做不到。基本上,
- Spring 是否通过一些自定义类加载器实现了这一点
- 如果不是,这个优先级是如何工作的。我可以以类似的方式给我的豆一些优先权吗
- 我可以在我的项目中生成类似的层次结构吗?如果可以,如何
非常感谢您的帮助
原文由 chinmay 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果某些类在类路径中,则 Spring AutoConfiguration 用于提供基本配置。
如果你想配置 spring 实例化 bean 的顺序,你可以使用
这将创建 bean“A”,然后是“B”。因此,您可以根据首先需要完成的 bean 来订购配置。不管怎样,Spring 通过分析 bean 类自动检测依赖关系。如需更多帮助,请查看此问题 Spring Boot AutoConfiguration Order
替代方案:还有“@AutoConfigureOrder”注释(您可以在其中确定配置的优先级),您可以查看 代码 以加深理解。
自动配置文档在 这里