主动装配就是由 Spring 主动把其他组件中的 Bean 装载到 IoC 容器中,不需要开辟职员再去设置文件中添加大量的设置。我们只需要在 Spring Boot 的启动类上添加 @SpringBootApplication 注解,开启主动装配。这种主动装配的思想,在 Spring 3.x 以后就开始支持,我们只要在类上添加 @Enable 注解就可以了,只是没有像 Spring Boot 如许全面地去计划。
因此,Spring 和 Spring Boot 的最大区别就是在于 Spring Boot 的主动装配。那主动装配的原理又
是什么呢?
2、主动装配原理
第一步:启动依靠组件的时候,组件中必须包含 @Configuration 的设置类,在这个设置类内里声明为 @Bean 注解,就将方法的返回值大概属性值 注入 IoC 容器中。
第二步:假如是利用第三方 jar 包,Spring Boot 接纳 SPI 机制,只需要在/META-INF/目次下增长
spring.factories 设置文件。然后,Spring Boot 会根据约定规则,主动利用 SpringFactoriesLoader
来加载设置文件中的内容。
第三步:Spring 获取到第三方 jar 中的设置以后,会利用调用 ImportSelector 接口来完成动态加载。如许的计划的利益在于,大幅减少了痴肥的设置文件,而且各模块之间的依靠实现了深度解耦。好比,我们利用 Spring 创建 Web 步伐时需要导入非常多的 Maven依靠,而 Spring Boot 只需要一个 Maven依靠来创建 Web 步伐,而且 Spring Boot 还把我们最常用的依靠都放到了一起,我们只需要 引入spring-boot-starter-web 这一个依靠就可以完成一个简单的 Web 应用。
以前用 Spring 的时候需要 XML 文件设置开启一些功能,如今 Spring Boot 不消 XML 设置了,只需要写一个, 加了@Configuration 注解 大概实 现对应接口的设置类就可以了。