到目前为止,已经看了一百页。再次感慨下,如果想使用Spring,那可以看视频或者找例子,但如果想深入理解Spring,最好还是看官方文档。

原计划是把一些基本接口的功能、层次以及彼此的关系罗列一下。同时兼顾版本的演化,简述下相应功能的历史,最好是画一张图。

以BeanPostProcessor接口为例,当configuration metadata中有其实现的bean definition时,容器会在所有bean创建完成后执行其中的方法,但是会在@PostContruct之前。

而BeanPostProcessor对应的beans会在容器创建早期进行初始化,并会将其依赖也提前初始化。

等等。

希望周二之前完成。

【--无语的是,没想到直接找到了一张图(见末尾),倒是省事了】

发现要写的东西太多了,应该有所区分,比如一部分将原理,一部分将应用。先写完再说吧。

基本概念

一、什么是IoC/DI?

  一种设计模式,IoC(控制反转),目的是将对象的创建与使用分离开来,以让用户更专注于业务逻辑。

  后来有位大虾觉得IoC不好理解,难以顾名思义,就写了一篇 文章 建议改口叫DI(依赖注入)。

  然后导致了今天的状态,IoC和DI经常混杂出现。

  ps:至今未见DI容器一说。DI更被当作一个动词,而非名字。

二、什么是IoC容器?

  负责创建对象的地方,老外将其命名为IoC Container。

  而在Spring框架下,IoC Container 是由ApplicationContext接口代表的。

  换句话说,你可以认为 ApplicationContext对象 就是一个IoC容器。(注意,仅限于Spring框架)

三、Spring IoC容器 能做什么?

  从配置元数据(configuration metadata)中读取 bean definitions,然后创建beans。

  ApplicationContext本质上是一个高级工厂接口,能够维护不同bean的注册和依赖。

四、什么是 配置元数据(configuration metadata)?

  包含bean definition的配置。可以是XML格式(默认),也可以基于注解(自Spring 2.5起)或Java编码(自Spring 3.0起)。

五、什么是 bean?

  由Spring IoC容器 管理和操作的对象。负责它们的初始化、装配以及管理。

六、什么是 bean definition?

  就是 bean定义,描述了一个bean 实例,包括类、构造方法(或工厂方法)、参数(值或引用)、scope等等。

  在容器内部,它们对应 org.springframework.beans.factory.config.BeanDefinition接口的对象,包含以下元数据:

 限定package的类名:通常是bean的实际实现类。
bean行为配置元素,描述了bean在容器中的行为(scope、lifecycle callbacks,以及其他)。
对所需bean的引用,通常称为 collaborators or dependencies 。
其他配置设置,例如,连接池的连接数等。

  元数据会被翻译成一组properties,以构成各个bean definition。

aaarticlea/png;base64,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87sOcNE+YfbyA+UuidBWcXDZrKF3u76ude/xb/1YUOt8tKD25MqknvqNY2On7aryGoyEsFf/9m3a8PZOHxo9YNbK41ePzO/u3llryU+LZwxs69yFFr0nLdxxxXniGntgGoyEEA2XMj9K6hft/GHNuj7y3NLcay4x+w4o/IT8ZjIbf6XlkfzACKE00YiIzMgUfmaBXTWySUdRU7IpUKmdW0ppVR5WfJKhOwCFn1zPLcXb3x3bxWUUovslfbj5bM31zJRYABHDlmoLXZnCT21gg5SaPBd+zWM69x05+YVPfjxR4eGMYa61nARjrSXb8VuZl/p7PRV+vd/fv29pcm+ne2a2HTx7xdHrLltWvmHJr2IeBoTt6g+JWq39wOv7q+xCJXhRwIS88BNCCGGvLy04tmf71qwDp8p8VfT2+pLTh7K3b0nfmrX/t+Iaj1nQVnv11KHd29I3Z2Ttyyuq8hDg7PXl50/+8mv+pesNknPKVn0pLydzy7bsw/nlPo8+2Kov5uXuzNickXXwjIdXy/fAVn3xxN6srVsyc4/nl9Td4buA5GZSH38T8gOjMtGIiFzJFX5CBCa0ySY7c3IpULGdgKa0kOY03z231Vz5Ze+OLZszsvb963J1IG4cLz+wd2Jq4lorXOelEMJee+VETmbGtuwjhTc8hQbVhiW2gSz54EUBcHsKPyIiojucfOFHRER052PhR0REZIKFHxERhRMWfkRERCZY+BERUThh4UdERGSChR8REYUTFn5EREQmWPgREVE4YeFHRERkgoUfERGFExZ+REREJlj4ERFROGHhR0REZIKFHxERhRMWfkRERCZY+BERUThh4UdERGSChR8REYUTFn5EREQmWPgREVE4YeFHRERkgoUfERGFExZ+REREJlj4ERFROGHhR0REZIKFHxERhRMWfkRERCZY+BERUThh4UdERGSChR8REYUTFn5EREQmWPgREVE4YeFHRERkgoUfERGFExZ+REREJlj4ERFROGHhR0REZIKFHxERhRMWfkRERCZY+BERUTgJWOFXVlaWT0REFC5KS0tvdxeIiIgCxm63B6bwIyIiIiIiov/vWPgRERERERGFORZ+REREREREYY6FHxERERERUZhj4UdERERERBTmWPgRERERERGFORZ+REREREREYY6FHxERERERUZhj4UdERERERBTm/g/i0ZUcXxzf7gAAAABJRU5ErkJggg==" alt="" width="830" height="439" />

关键概念

如何创建Spring IoC Container?/如何创建ApplicationContext对象?

这两个问题可以说是同一个问题,至于原因,在前面有提到(二、什么是IoC容器?)。

其实这个问题没多少意义,因为创建对象我们都会,构造方法或者factory创建,具体的见Javadoc就是。

这里,ApplicationContext是个接口,但Spring已经提供了一些实现以供我们在不同环境下使用,所以直接调用其实现类的构造方法创建即可。

如下:

ApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"services.xml", "daos.xml"});

但是,这只是原理部分,实际工作环境中往往不需要手动创建Spring IoC容器(ApplicationContext)。

例如web应用环境下,只需要将ContextLoaderListener注册到Servlet容器中,就会在容器启动的时候自动创建Spring IoC容器。

事实上,ContextLoaderListener是一个监听器,监听Servlet容器的启动过程,并创建Spring IoC容器。

详见我的 ContextLoader,ContextLoaderListener解读

杂,有时间再改。

需要说明的是,除了自身创建的bean,IoC容器还允许注册在其外部创建的对象。这是通过ApplicationContext 的 getBeanFactory()方法获取 BeanFactory 来完成的,实际上返回的是 BeanFactory的实现 DefaultListableBeanFactory。 它支持上面说的这种注册: registerSingleton(..) and registerBeanDefinition(..) 。

Spring容器在被创建时就会校验每个bean的配置。但直到创建bean时,才会设置bean properties。单例且被设置成pre-instantiated(默认)的bean是在容器被创建时创建。否则,都是被请求的时候才创建。

关键概念

Spring bean lifecycle

当一个bean被实例化时,需要进行一系列的初始化工作,才能被使用。同样的,当不再需要它,需要从容器中移除时,也有一些清理工作需要进行。

Spring设计了一系列接口,提供了在lifecycle不同阶段的回调方法 -- 由IoC容器识别,并在不同阶段调用。--本质上,属于AOP。

例如,org.springframework.beans.factory.InitializingBean接口 和 org.springframework.beans.factory.DisposableBean接口,

凡是实现了它们的bean,容器会在它们构造完成后、销毁之前调用相应的方法。

例如,还有BeanPostProcessor接口,会在每个bean初始化完成后执行相应方法。--容器调用。而且这个执行是在InitializingBean接口的方法之前。

需要注意的是,由于BeanPostProcessor对象实例化太早,会导致一些问题。例如导致其依赖的提前初始化,导致无法使用自动注入的注解,导致aop代理无法启用等等。需要小心使用。

找到一张好图,如下:

突然就没有说的欲望了。。因为这张图完整的描述了bean lifecycle中各阶段的行为。

卧槽,我辛苦总结半天,还不如一张图来的清楚,受伤了。

补充:

 <bean class="...">
<property name=".." value=".."/>
</bean>

像上面这种给property设值的情况,是在@PostConstruct method之前进行的!!!原因可以参考@Bean method,如下:

 @Bean
public A a(){
A a= new A();
a.setProperty(...);
return a;
}

ps:

图片来自 Spring in Action 4th edition,p45。

--Figure 1.5  A Bean goes through several steps between creation and destruction in the Spring container. Each step is an opportunity to customize how the bean is managed in Spring.

--图1.5 一个bean在Spring容器中的从被创建到被销毁之间的几个步骤。每个步骤都可以用来定制在Spring中如何管理该bean。

做了一个小demo放在码云上,有需要的可以下下来看看。

地址

欢迎讨论。

Spring Framework 官方文档学习(二)之IoC容器与bean lifecycle的更多相关文章

  1. Spring Framework 官方文档学习(四)之Validation、Data Binding、Type Conversion(二)

    接前一篇 Spring Framework 官方文档学习(四)之Validation.Data Binding.Type Conversion(一) 本篇主要内容:Spring Type Conver ...

  2. Spring Framework 官方文档学习(四)之Validation、Data Binding、Type Conversion(一)

    题外话:本篇是对之前那篇的重排版.并拆分成两篇,免得没了看的兴趣. 前言 在Spring Framework官方文档中,这三者是放到一起讲的,但没有解释为什么放到一起.大概是默认了读者都是有相关经验的 ...

  3. Spring Framework 官方文档学习(四)之Validation、Data Binding、Type Conversion

    本篇太乱,请移步: Spring Framework 官方文档学习(四)之Validation.Data Binding.Type Conversion(一) 写了删删了写,反复几次,对自己的描述很不 ...

  4. Spring Framework 官方文档学习(一)介绍

    http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#overview-maven-bom ...

  5. Spring Framework 官方文档学习(三)之Resource

    起因 标准JDK中使用 java.net.URL 来处理资源,但有很多不足,例如不能限定classpath,不能限定 ServletContext 路径. 所以,Spring提供了 Resource ...

  6. Spring 4 官方文档学习(十二)View技术

    关键词:view technology.template.template engine.markup.内容较多,按需查用即可. 介绍 Thymeleaf Groovy Markup Template ...

  7. Spring 4 官方文档学习(十一)Web MVC 框架

    介绍Spring Web MVC 框架 Spring Web MVC的特性 其他MVC实现的可插拔性 DispatcherServlet 在WebApplicationContext中的特殊的bean ...

  8. Spring Boot 官方文档学习(一)入门及使用

    个人说明:本文内容都是从为知笔记上复制过来的,样式难免走样,以后再修改吧.另外,本文可以看作官方文档的选择性的翻译(大部分),以及个人使用经验及问题. 其他说明:如果对Spring Boot没有概念, ...

  9. Spring boot官方文档学习(一)

    个人说明:本文内容都是从为知笔记上复制过来的,样式难免走样,以后再修改吧.另外,本文可以看作官方文档的选择性的翻译(大部分),以及个人使用经验及问题. 其他说明:如果对Spring Boot没有概念, ...

随机推荐

  1. function.length和arguments的区别

    function.length:接收到函数体外的参数计算长度 arguments:接收到函数体内的参数计算长度 /** * 函数参数长度和伪数组(arguments)长度不一样! -> 接收到函 ...

  2. ACM 刷题错误总结 持续更新并持续回想中o(╯□╰)o

    一.段错误/RE 1.& 变量取地址 2.数组越界 3.爆栈, 非常可能是死循环,ruturn的边界没有处理好,或者是递归的内容里有死循环的部分. 4.线段树 逢写必错,都是build(i*2 ...

  3. 使用hasOwnProperty监测对象是否含有某个属性

    1.示例代码 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UT ...

  4. 用sqldevelop进行连接linux中ret Hat 6.2 中的oracle步骤

    1.下载Oracle Instant Client (32-bit) 因为PL/SQL只支持32位的Oracle,所以必须下载对应的32位的才可以. 只需要下载instantclient-basic- ...

  5. solr 查询参数说明

    solr 查询参数说明

  6. C#实现分片上传文件

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.IO ...

  7. freeswitch编译java esl

    一.背景假设源代码路径为/home/freeswitch 二.编译安装libesl.a1. cd /home/freeswitch(源代码的根目录) 执行./configure,以便生成必要的Make ...

  8. vue 发送ajax请求

    一. 简介 1.vue本身不支持发送AJAX请求,需要使用vue-resource(vue1.0版本).axios(vue2.0版本)等插件实现 2.axios是一个基于Promise的HTTP请求客 ...

  9. HttpClient设置编码类型

    笔者引用的是commons-httpclient这个jar包httpclient 可是通过get/post方式获取带有中文页面的html文件时.返回的是乱码,在网上找了非常久.最终找到一个合适的: H ...

  10. ctags简明用法

    1.安装: sudo apt install ctags 2.生成tags文件: //进入目标目录 ctags -R . 3.在vim中设置tags的绝对目录,这样就可以在任何子目录使用了. :set ...