spring框架设计理念(上)
一.前言
spring的应用非常的广泛,在开发过程中我们经常接触,可能会有一种感觉:对spring即熟悉又陌生,熟悉体现在我们几乎每天都在使用,对spring的IOC、AOP功能都有了基本的了解,和日常开发的具体应用。陌生体现在,我们对spring的整体架构不清楚,不了解spring中实际的DI是怎么注入,经过了那个那些流程,具体怎么样实现,心中都有一些疑惑。
二.spring概况
Spring是一个开源框架,为了解决企业应用开发的复杂性而创建的,但现在已经不止于企业应用。是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
- 从大小与开销两方面而言Spring都是轻量级的。
- 通过控制反转(IoC)的技术达到松耦合的目的。
- 提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。
- 包含并管理应用对象的配置和生命周期,这个意义上是一种容器。
- 将简单的组件配置、组合成为复杂的应用,这个意义上是框架。
spring号称J2EE程序就是Spring应用程序(ps:正所谓吹牛也是需要本钱,可见spring具备非常强大的功能,提供了一系列J2EE的解决方案。)
三.spring架构图解
四.spring中的IOC容器为你工作
五.Bean组件的说明
上面我们谈到了spring的核心Bean,在Spring里面Bean主要包含了三块内容:bean的定义、bean的创建、bean的解析;作为我们开发使用,我们只需要关心bean是如何创建就可以了,而bean的定义,bean的解析是spring自动帮助我们完成的,是透明的。
在spring的bean的设计里面采用了典型的工厂模式设计模式来构建bean的,bean的设计最顶层的接口为BeanFactory,bean的继承关系图如下: