1、Spring概述
Spring致力于J2EE应用的各种解决方案,而不仅仅专注于某一层的方案。
可以说,Spring是企业应用开发的一站式选择,他贯穿于表现层、业务层、持久层。
Spring并不想取代那些已有的框架,而是以高度的开放性与这些框架无缝整合。
Spring的两个目标:
1、让现有技术更易于使用
2、促进良好的编程习惯
2、Spring体系结构
体系结构分为7个部分
1、Spring Core
Spring Core 是Spring的核心,提供IOC和依赖注入特性
2、Spring Context
提供一种框架风格的方式来访问对象,有些像JNDI注册表。
他继承了Beans包的功能,同时增加了国际化、事件传播、资源装载,以及透明创建上下文
3、Spring AOP
通过配置管理,Spring AOP直接将面向方面编程功能集成到了Spring框架中
4、Spring DAO
提供JDBC的抽象层,可以消除冗长的JDBC编码和解析数据库厂商特有的错误代码
5、Spring ORM
Spring框架插入了若干个ORM框架,从而提供了ORM对象关系工具,其中包括JDO、Hibernate和iBatis等,所有这些都遵从Spring的通用事务和DAO异常层次结构
6、Spring Web
建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文。所以,他支持与Jakaarta Struts的集成
7、Spring MVC
3、Spring架构
这三个核心组件构建起了整个Spring的骨骼架构。
如果没有这几个核心组件,就不可能有AOP、Web等上层的特性功能。
1、Bean组件
Bean组件是这三个核心组件的核心,他是Spring核心的主角。
Bean组件是Spring容器使用DI(依赖注入)管理所有组成应用系统的组件。
那为什么Bean组件在Spring中如此重要呢?
这是Spring框架的设计目标决定的,Spring为什么这么流行,我们使用Spring的原因是什么?
我们仔细想想就会发现,原来Spring解决了一个非常非常关键的问题,那就是让我们把对象之间的依赖关系用配置文件来管理,也就是我们在对象之间的依赖的时候我们不通过对象去创建对象了,他们之间的依赖关系改为用配置文件来管理了,这也就是他的依赖注入机制,而这个注入关系在一个叫IOC容器中管理。
在这个容器中,Spring通过将对象包装在Bean中而达到对这些对象的管理
2、Context组件
Context组件的作用是 发现每个Bean之间的关系,为他们之间建好这种关系并进行维护。所以可以把Context看做是一个Bean的关系集合。这个关系集合我们称之为IOC容器。
3、Core组件
Core组件是发现、建立和维护每个Bean之间关系需要的一系列工具,因此我们可以把Core组件想像成我们的until工具包。
Bean组件比作是一场演出的演员、
Context就是这场演出的舞台背景、
Core是演出的道具。