当前位置: 首页 > wzjs >正文

网站建设模块方案书技术培训学校机构

网站建设模块方案书,技术培训学校机构,yfcms企业网站建设,python做网站的 框架目录 1、Spring Boot自动装配是什么?2、自动装配原理3、总结 1、Spring Boot自动装配是什么? SpringBoot自动装配主要是基于注解编程 和 约定优于配置的思想来设计的。 自动装配就是由Spring自动把其他组件中的Bean装载到IoC容器中,不需要…

目录

    • 1、Spring Boot自动装配是什么?
    • 2、自动装配原理
    • 3、总结

1、Spring Boot自动装配是什么?

SpringBoot自动装配主要是基于注解编程 和 约定优于配置的思想来设计的。
在这里插入图片描述

自动装配就是由Spring自动把其他组件中的Bean装载到IoC容器中,不需要开发人员再去配置文件中添加大量的配置。我们只需要在Spring Boot的启动类上添加 @SpringBootApplication 注解,开启自动装配。

这种自动装配的思想,在Spring 3.x以后就开始支持,我们只要在类上添加 @Enable 注解就可以了,只是没有像Spring Boot这样全面地去设计。

因此,Spring 和 Spring Boot的最大区别就是在于Spring Boot的自动装配。那自动装配的原理又是什么呢?

2、自动装配原理

@SpringBootApplication这个注解是暴露给用户使用的入口,它的底层是由 @EnableAutoConfiguration这个注解来实现的。

这样一个自动装配的实现,我把它归纳为以下三个核心步骤:

在这里插入图片描述

第一步:启动依赖组件的时候,组件中必须要包含 @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注解 或者实 现对应接口的配置类就可以了。

3、总结

①、通过@Import(AutoConfigurationImportSelector.class),导入配置类,这里并不是单个配置类的导入

②、AutoConfigurationImportSelector实现了ImportSelector类,重写了selectImports方法,用于实现选择性的批量配置类的装配

③、通过Spring的SpringFactoryLoader机制,扫描classpath下的META/spring.factories文件,读取需要实现自动装配的配置类

④、通过条件筛选,把不符合的移除,最终实现自动装配

http://www.dtcms.com/wzjs/149358.html

相关文章:

  • 免费做网站靠谱么企业网络的组网方案
  • wordpress模板 导购双桥seo排名优化培训
  • 网站建设报价 东莞代做百度关键词排名
  • 网站制作一般需要多少钱?巨量千川广告投放平台
  • 天津做网站推广的网站seo手机关键词排行推广
  • 一个网站有哪些优势有什么推广软件
  • 宁波市网站制作燃灯seo
  • 个人网站空间怎么做seo推广代理
  • 兰州网站建设方案信息流广告投放公司
  • 给网站做维护是什么工作网页设计代码大全
  • wordpress插件无法启用数字营销服务商seo
  • 广州有几个区几个县级市seo优化快排
  • 备案的域名拿来做别的网站网站开发步骤
  • 网页设计hbuilder制作简单网页网络优化有前途吗
  • 上小学网站建设搜索百度指数
  • 大学英文网站建设微商推广哪家好
  • 推荐广州微信网站建设如何制作一个网址
  • 二手房网站平台怎么做建设网站公司
  • 网站建设需要做的事情app推广联盟平台
  • 网上注册公司流程图网店seo关键词
  • 网站建设按什么收费关键词优化哪家强
  • 推荐做那个的电影网站黑帽seo
  • 鲜花网站有关建设搜索风云榜百度
  • 网站推广服务报价表搜索引擎登录入口
  • 深圳坂田网站建设b站推广平台
  • 做网站的重点目标外包接单平台
  • 可信的h5制作开发网站怎么优化
  • 国产erp软件前十名优化大师使用心得
  • 怎么找个人搭建网站sem是什么设备
  • 昆山市建设局网站使用最佳搜索引擎优化工具