什么是自动装配 ?Spring Boot 自动装配的流程 ?

1. 什么是自动装配 ?

        自动装配,说白了就是指在应用程序启动时,不需要通过配置的方式,就可以将程序中需要依赖的类或者组件,自动加载起来.

【例子 1】

比如说在传统的 Spring 中,你可能需要手动去配置数据库连接池的 bean,并且设置一些参数,才能正常的连接数据库,而 SpringBoot 中的自动装配,我们只需要设置一些关键信息,像 jdbc 协议,数据库的用户名和密码,以及驱动即可。

【例子 2】

再比如,我想要在项目中使用 Jackson 提供的 ObjectMapper 这个类,在 Spring 中,我需要两步操作:

  1. 在 pom.xml 中添加 jackson 的依赖;
  2. 在配置文件中,配置 jackson 的 bean,给它添加一个标识;

然后才可以通过 DI 注入到当前对象中。

        而 SpringBoot 中,这两步操作可以直接省去,直接 DI 注入即可。为啥 ? 我没有在任何地方添加依赖,也没有去存储相应的 bean,为什么可以直接注入进来? 因为 SpringBoot 在启动的时候,就把这些类给加载起来了,这就是自动装配。

类似的类还有:RedisTemplate,JdbcTemplate,RestTemplate 等等。

2. Spring Boot 自动装配的流程 ?

1. 启动应用程序:Spring Boot 会自动扫描启动类路径下的各种依赖和组件。

2. 自动扫描类路径下的清单:这个清单是在 META-INF 路径下的 spring.factories 文件,这个文件中就定义了各种自动配置类的类名,例如:数据库 datasource 相关的,Jackson 相关的等等。

3. 条件化装配:扫描了自动配置类之后,SpringBoot 会根据条件判断(@conditionor 注解)是否需要进行装配。比如说是否存在某个特定的类,某个属性值是否设置了 true 啊,如果满足条件,那么就自动装配。

4. 自动配置创建 Bean:根据上面两点的条件满足,SpringBoot 创建相应的 Bean。

5. 覆盖默认配置:在自动配置完成之后,可以手动在配置文件中配置相应的属性来覆盖默认的配置。允许根据业务需求定制。

6. 启动应用程序上下文:装配完成之后,SpringBoot 就会启动应用上下文,这时候所有的自动配置和手动配置的 Bean 都会被加载到上下文中。

7. 应用程序运行:应用程序上下文准备好了之后,程序会正常运行,这时候我们就可以通过注入 Bean 来使用自动装配提供的功能了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Master_hl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值