说下Spring Boot的自动装配概念与流程

Java面试 潘老师 8个月前 (09-06) 160 ℃ (0) 扫码查看

Java面试题:说下Spring Boot的自动装配概念与流程

得分点:

自动装配概念, 自动装配流程

标准回答:

使用Spring Boot时,我们需要引入对应的Starters。SpringBoot启动时便会自动加载相关依赖,配置相应的初始化参数,以最快捷、简单的形式对第三方软件进行集成,这便是Spring Boot的自动配置功能。

整个自动装配的过程是:Spring Boot通过@EnableAutoConfiguration注解开启自动配置,加载spring.factories中注册的各种AutoConfiguration类。当某个AutoConfiguration类满足其注解@Conditional指定的生效条件(Starters提供的依赖、配置或Spring容器中是否存在某个Bean等)时,实例化该AutoConfiguration类中定义的Bean(组件等),并注入Spring容器,就可以完成依赖框架的自动配置。

加分回答

@EnableAutoConfiguration 作用: 从classpath中搜索所有META-INF/spring.factories配置文件,然后将其中org.springframework.boot.autoconfigure.EnableAutoConfiguration key对应的配置项加载到spring容器。只有spring.boot.enableautoconfiguration为true(默认为true)的时候,才启用自动配置。@EnableAutoConfiguration还可以根据class来排除(exclude),或是根据class name(excludeName)来排除。

其内部实现的关键点有:

  1. ImportSelector:该接口的方法的返回值都会被纳入到spring容器管理中。
  2. SpringFactoriesLoader:该类可以从classpath中搜索所有META-INF/spring.factories配置文件,并读取配置。

版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/javainterview/8796.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】