Ioc、DI、MVC

Spring IOC、DI、MVC的执行主要分为三个阶段:
①配置阶段:主要完成web.xml和Anntation的配置。
②初始化阶段:完成IOC容器初始化、DI自动注入和HandlerMapping的初始化。
③运行阶段:根据用户请求的URL调用对应的Method,将结果打印到浏览器。

Ioc

  1. Ioc:Ioc容器是spring的核心,是用来创建,管理,销毁Bean的,Ioc根据配置文件,实例出所有基本的Bean

Ioc工作流程:大致流程为 加载类配置文件->解析配置文件,完成类的扫描->初始化类,并加入到Ioc容器中。
加载配置文件:ApplicationContext先拿到类的路径,然后根据BeanDefinitionReader读取相应类的信息。
解析配置文件:BeanDefinitionReader封装加载类的class信息和原型对象(根据自定义名、类名或者接口来保存),如果获取对象就通过类似于工厂模式进行创建(单例模式/原型模式)。
初始化类,并注入到Ioc容器:根据解析完的类通过反射机制创建对象,(假的)加入Ioc容器中。
(依靠注解找到所要实例的bean,依赖Java的反射机制实例对象)

DI

DI:依赖注入,根据Bean属性的需要,注入其他Bean,就是Bean对象依赖Ioc容器实例出的Bean

DI工作流程:根据Bean属性,相应的注入依赖的Bean。
先搞定对象的配置才能进行依赖注入->从Ioc容器中获得/根据类配置信息进行创建->创建BeanWrapper包装类对象(真的)加入Ioc容器->执行依赖注入

MVC

MVC:mvc是就像一个url->方法->处理的过程,根据url访问固定的方法,
然后处理响应的请求,如何根据url找到响应的方法就是要解决的问题,和Ioc一样也是键值对一样的设计。

BeanDefinition、BeanWrapper、ApplicationContext作用

  1. BeanDefinition:存储类路径,类class信息等配置。
  2. BeanWrapper:类的包装类,存储类的实例和类class信息,方便以后AOP使用。
  3. ApplicationContext:应用上下文,BeanFactory的子类,初始化时生成所有的Bean,完成spring所需要的配置。
发布了56 篇原创文章 · 获赞 3 · 访问量 1179

猜你喜欢

转载自blog.csdn.net/qq_40788718/article/details/103458206