首先介绍系列文章内容及Spring Framework官方文档情况。
在这一系列学习中,我阅读的主要资源是5.1.2 Reference Doc.,以及论坛大神的讲解blog。另外,Spring官方也给出了非常详细的API文档,适合较为熟悉的使用者查阅。
Documentation主要包括6部分:Core, Testing, Data Access, Web Reactive, Integration, Language。
本篇文章讲解Core的前一部分。
官方文档:Spring Framework Documentation
1.Spring中的IoC容器
1.1.Spring IoC及Beans介绍
Spring Framework的Ioc容器主要由如下两个包构成:org.springframework.beans
以及ogr.springframework.context
。
IoC中的核心接口为BeanFactory
。这一接口提供了配置机制以及一些基本的功能。其中,配置机制允许Spring Framework处理任何类型的对象;具体功能包括实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。Spring提供了一些易用的BeanFactory实现,例如XmlBeanFactory类。该类以XML方式描述组成应用的对象以及对象间依赖关系。
BeanFactory
提供了名为ApplicationContext
的子接口,这一接口保留了BeanFactory的所有内容,并针对企业进行了功能扩展,包括:
- 更好地整合Spring的AOP特征
- 管理消息资源(针对于国际化使用)
- 事件发布
- 为应用层提供特殊情景的支持(例如为web应用开发提供了
WebApplicationContext
)
在接下来的讲解中,主要使用ApplicationContext对Spring的IoC容器进行介绍。
在Spring中,软件中的所有对象都由Spring进行生命周期的管理,这些对象统称为beans。beans以及其间的依赖关系都由容器的配置文件反映。
1.2.容器概览
这里主要以org.springframework.context.ApplicationContext
接口进行容器介绍。
ApplicationContext是Spring容器的描述,它负责对所有的beans进行实例化、配置并建立对象间依赖关系,所有操作从配置文件中读取。配置文件可以使用XML, Java注释或Java code描述,其内容应当包括组成软件的对象以及对象间依赖关系。
Spring提供了一些ApplicationContext
的实现。在开发独立应用时,ClassPathXmlApplication
和FileSystemXmlSystemApplication
的使用较多。这两个类都是基于XML语言对软件进行配置。你也可以使用Xml声明对Java注释和Java code的支持,这样在软件开发中就可以使用多种声明语言进行配置文件的描述了。
在大多数的应用开发中,非常简单的代码就可以创建一个Spring IoC container。例如在web应用情景中,8行左右的格式化的XML声明web.xml
就足够了。另外,Spring提供了“Spring Tool Suite”工具,该工具基于Eclipse对开发环境进行配置,可以帮助开发者更快速地进行配置声明。
在实际的开饭中,开发者将其业务代码(Business Objects, POJOs)注入Spring容器,容器加入配置文件进行配置,之后就可完成系统的整体配置。
1.2.1配置文件
配置文件由对容器管理的bean的定义组成。在xml文件中,使用<beans/>对相关元素进行标注,在<beans/>下一级使用<bean/>标签。
(持续更新)