SpringBoot中的配置顺序

新手上路,请多包涵

我试图了解我们使用 @Configuration 制作的 beans 如何覆盖默认情况下由 SpringBoot 生成的 beans。我一直在做一个项目,在很多情况下,我们为 ZuulConfigs 之类的东西创建 beans,假设是,无论我们做什么,都应优先于默认生成的 bean。我一直试图弄清楚这一点,但做不到。基本上,

  1. Spring 是否通过一些自定义类加载器实现了这一点
  2. 如果不是,这个优先级是如何工作的。我可以以类似的方式给我的豆一些优先权吗
  3. 我可以在我的项目中生成类似的层次结构吗?如果可以,如何

非常感谢您的帮助

原文由 chinmay 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 382
1 个回答

如果某些类在类路径中,则 Spring AutoConfiguration 用于提供基本配置。

如果你想配置 spring 实例化 bean 的顺序,你可以使用

@DependsOn("A")
 public class B {
 ...
}

这将创建 bean“A”,然后是“B”。因此,您可以根据首先需要完成的 bean 来订购配置。不管怎样,Spring 通过分析 bean 类自动检测依赖关系。如需更多帮助,请查看此问题 Spring Boot AutoConfiguration Order

替代方案:还有“@AutoConfigureOrder”注释(您可以在其中确定配置的优先级),您可以查看 代码 以加深理解。

自动配置文档在 这里

原文由 virsha 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题