Spring Framework 5.2.4.RELEASE 核心技术1.1翻译
原文连接spring framework
核心技术
这部分参考文档会涵盖组成Spring Framework的所有技术。
IOC(控制翻转)容器是Spring Framework中最重要的技术。AOP(切片编程)紧随其后,是Sping Framework中另外一项技术。Spring Framework 有它自己的AOP框架。这个框架很好理解,并且它能够和JAVA企业应用中80%的AOP需求产生良性反应。
Spring提供了和AspectJ(当前在企业应用中最成熟的AOP框架)的集成,这个在文章中也会涉及。
1 IOC 容器
这一节关于Spring的IOC容器
1.1 Spring IOC容器和Beans的介绍
这节包含了Spring框架实现IOC的原理。IOC也可以称作DI(依赖注入)。IOC是对象对其所依赖的其他对象赋值的一个过程。三种方式,1 通过构造函数的参数,2工厂模式的参数,3对象构建成功后,再通过给其他对象赋值。当beans创建成功之后,这个容器注入该bean的所有依赖。这个过程和普通的对象创建方法(new)是相反的,所以叫做翻转控制。 三种方式1 bean自身控制初始化 2 通过类的方法来赋值依赖,3通过服务定位模式的机制。
(Ps:Java初学者定义某个对象的时候,会将对象依赖的类都创建出来,然后通过构造函数创建出某个对象,而IOC可以认为是将某个对象创建出来的时候,容器对自动匹配该对象依赖的其他对象)
包org.springframework.beans and和包org.springframework.context是IOC容器的基础. BeanFactory接口提供了一种先进的配置机制,可以管理任何类型的对象。ApplicationContext 是BeanFactory的一个子接口. 它增加了:
- 更容易和Spring的AOP特性集成
- 消息资源处理(由于国际化)
- 事件发布
- 特定的应用层上下文(例如web应用中的WebApplicationContext)
简而言之, BeanFactory提供了配置框架和基本功能,ApplicationContext提供了更多企业级的功能。ApplicationContext是BeanFactory的超集(子类),在这一章中仅介绍IOC的容器为ApplicationContext的情况。如果想要了解使用BeanFactory作为容器,替代ApplicationContext,请参考Bean Factory
在Spring中,beans是指由Spring框架生成的,并且通过IOC容器管理的对象。Bean是由IOC容器实例化,组装,管理的对象。此外,在你应用中的众多对象中,bean是其中一种简单的对象。Beans和它的所有依赖对象的关系,是由IOC容器的配置元数据反映出来的。