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

网站建设it/seo培训学什么

网站建设it,seo培训学什么,硬件开发用什么语言,做网站设计的公司有哪些此篇文章为Spring5源码分析——IOC容器的初始化的最后一篇,这一篇主要是对IOC容器的初始化进行总结。 一,IOC 容器的初始化总结 通过上面的几篇文章我们完成了对FileSystemXmlApplicationContext IOC容器创建的分析,接下来总结一下IOC容器初始…

  此篇文章为Spring5源码分析——IOC容器的初始化的最后一篇,这一篇主要是对IOC容器的初始化进行总结。

一,IOC 容器的初始化总结

通过上面的几篇文章我们完成了对FileSystemXmlApplicationContext IOC容器创建的分析,接下来总结一下IOC容器初始化的基本步骤。
1. 初始化的入口在容器实现中的 refresh()调用来完成。
2. 对 bean 定义载入 IOC 容器使用的方法是loadBeanDefinition,其中的大致过程如下:通过ResourceLoader来完成资源文件位置的定位,DefaultResourceLoader是默认的实现,同时上下文本身就给出了 ResourceLoader 的实现,可以从类路径,文件系统,URL 等方式来定为资源位置。如果是 XmlBeanFactory 作为 IOC 容器,那么需要为它指定 bean 定义的资源,也就是说bean定义文件时通过抽象成Resource来被IOC容器处理的,容器通过BeanDefinitionReader来完成定义信息的解析和Bean 信息的注册 , 往往使用的是XmlBeanDefinitionReader来解析bean的xml定义文件-实际的处理过程是委托给BeanDefinitionParserDelegate来完成的,从而得到 bean 的定义信息,这些信息在Spring中使用BeanDefinition对象来表示这个名字可以让我们想到loadBeanDefinition,RegisterBeanDefinition这些相关方法-他们都是为处理 BeanDefinitin 服务的,容器解析得到BeanDefinition以后,需要把它在IOC容器中注册,这由IOC实现BeanDefinitionRegistry接口来实现。注册过程就是在 IOC 容器内部维护的一个 HashMap 来保存得到的 BeanDefinition 的过程。这个 HashMap 是 IOC 容器持有 Bean 信息的场所,以后对 Bean 的操作都是围绕这个 HashMap 来实现的。

  然后我们就可以通过BeanFactory和ApplicationContext来享受到SpringIOC的服务了,在使用IOC容器的时候,我们注意到除了少量粘合代码,绝大多数以正确IOC 风格编写的应用程序代码完全不用关心如何到达工厂,因为容器将把这些对象与容器管理的其他对象钩在一起。基本的策略是把工厂放
到已知的地方,最好是放在对预期使用的上下文有意义的地方,以及代码将实际需要访问工厂的地方。Spring本身提供了对声明式载入web应用程序用法的应用程序上下文,并将其存储在ServletContext中的框架实现。

以下是容器初始化全过程的时序图:
这里写图片描述

在使用Spring IOC 容器的时候我们还需要区别两个概念:
BeanFactory 和 FactoryBean , 其中BeanFactory指的是IOC容器的编程抽象,比如ApplicationContext,XmlBeanFactory等,这些都是IOC容器的具体表现,需要使用什么样的容器由客户决定,但 Spring为我们提供了丰富的选择。FactoryBean只是一个可以在IOC而容器中被管理的一个Bean,是对各种处理过程和资源使用的抽象,FactoryBean 在需要时产生另一个对象,而不返回FactoryBean本身,我们可以把它看成是一个抽象工厂,对它的调用返回的是工厂生产的产品。所有的
FactoryBean 都实现特殊的 org.springframework.beans.factory.FactoryBean 接口,当使用容器中 FactoryBean 的时候,该容器不会返回 FactoryBean 本身,而是返回其生成的对象。Spring 包括了大部分的通用资源和服务访问抽象的 FactoryBean 的实现,其中包括:对 JNDI 查询的处理,对代理
对象的处理,对事务性代理的处理,对 RMI 代理的处理等,这些我们都可以看成是具体的工厂,看成是Spring 为我们建立好的工厂。也就是说 Spring 通过使用抽象工厂模式为我们准备了一系列工厂来生产一些特定的对象,免除我们手工重复的工作,我们要使用时只需要在 IOC 容器里配置好就能很方便的使
用了。

更多文章请查看我的专栏 Spring5.0源码学习

需要原图请留言。

文档有参考其他资料,如果问题请联系我,进行删除!

转载于:https://www.cnblogs.com/mokingone/p/9108988.html

http://www.jmfq.cn/news/4770055.html

相关文章:

  • win7做本地网站/抖音关键词搜索排名
  • 510企业网站系统源码/软文街官方网站
  • 深圳seo网站推广报价/seo广州工作好吗
  • 惠阳网站建设/新闻头条最新消息摘抄
  • 网站建设外包 排名/泉州关键词排名
  • 买医疗产品的网站建设/互联网媒体推广
  • 武陟做网站/国内最新的新闻
  • 网站开发学那个语言比较好/企业建站公司
  • wordpress后台分类添加图片/seo优化公司排名
  • 雅诗兰黛网络营销策划方案/最新seo视频教程
  • 桐乡哪里有做网站的/青岛做网站推广
  • 石家庄网站建设多少钱/百度快速排名用是
  • 怎么给自己的网站做域名/查关键词的排名工具
  • vps 同时做ssh和做网站/网络销售工资一般多少
  • dede 转wordpress/深圳seo排名优化
  • html5标准网站建设/老客外链
  • 专业集团网站建设/初学者做电商怎么入手
  • 做一回最好的网站/百度推广托管公司
  • 设计网站官网狗/市场营销平台
  • 咖啡店网站首页怎么做/网络营销是干什么的
  • 深圳wap网站建设/湖北网站推广
  • 做海报图片去哪个网站找 知乎/南沙seo培训
  • 新乡网站设计公司/手机软文广告300字
  • 网站外地备案/关键词seo
  • 个人想做外贸怎么做/seo顾问合同
  • 怎么修改wordpress模版/seo推广服务
  • 深圳网站建设 独/免费google账号注册入口
  • 网友要求你帮助他在某网站做测试/厦门网站综合优化贵吗
  • 荔湾做网站/seo整站优化外包公司
  • 外包经验会影响后续找工作吗/seo入门培训教程