SpringBoot启动过程中,如何把注解中的bean存放IOC容器中的

发布于 2022-09-12 02:12:18 字数 70 浏览 18 评论 0

近期在看源码的东西,感觉比较复杂,springBoot较于springmvc,注解方式取代配置文件如何运行的。谁能详细说一下?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

爱情眠于流年 2022-09-19 02:12:19

在SpringBoot中定义的配置类加上@EnableAutoConfiguration注解,就会自动装配加载spring.factory中定义的配置类。 @EnableAutoConfiguration注解的原理是使用@Import导入一个ImportSelector实现类,该实现类处理引入spring.factory中的配置类,具体的源码可以查看AutoConfigurationImportSelector

备注:@Import注解是Spring引入外部类的一种实现方式,其可以引入如下三种外部类:

  1. ImportSelector实现类
  2. 一个普通的class对象(使用@Configuration标注)
  3. ImportBeanDefinitionRegistrar实现类

具体引入的源码在ConfigurationClassPostProcessor中,这个类是一个BeanFactoryProcessor,也就意味着它在加载spring的bean xml文件之后执行,在spring bean实例化前执行。所以如果同时配置spring.xml的bean文件和基于SpringBoot的自动配置。后者不会被引入,因为BeanFactroy中已有该bean定义。

巷子口的你 2022-09-19 02:12:19

这不一样的吗,之前的版本就已经开始有 bean 的注入了啊。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文