Spring 框架简介

来源:互联网 发布:手机页面屏蔽广告js 编辑:程序博客网 时间:2024/06/11 23:58

 个人整理:

(一)Spring 框架简介

1,Spring 技术用途和核心?
  ① 用 Spring 技术构建轻量级的、强壮的 J2EE 应用程序。
  ② Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。

2,什么是框架?
  ① 框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件(模块),
     同时为 J2EE 应用程序开发提供集成的框架。Spring 是一个开源框架。

3,Spring 框架模块(组件)组成?
  ① Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式。
  ② 组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。--这也是框架的优势!

4,Spring 框架的 7 个模块介绍:

 Spring Core:Spring Context: Spring AOP:Spring DAO:Spring ORM:Spring Web 模块:Spring MVC 框架:

  ① Spring Core (Spring 核心容器):
  核心容器的主要组件是 BeanFactory,它是工厂模式的实现,消除对程序性单例模式的需要。
   BeanFactory 使用控制反转 (IOC) 模式,将应用程序的配置和依赖关系与应用程序代码(程序逻辑)分开。

  ② Spring Context (上下文):
  一个配置文件,向 Spring 框架提供上下文信息。

  ③ Spring AOP:
  → 什么是AOP?
    AOP(Aspect Oroented Programming,面向方面编程,面向切面编程,面向特征编程)是消除代码重复的一种方法。
   是OOP的延续,是GoF设计模式的延续。
   可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。

   适合开发J2EE容器服务器,目前JBoss 4.0正是使用AOP框架进行开发。

   AOP曾经主要用于学术和研发机构,如今开始进入主流开发领域。
   与OOP在面向过程的编程方法基础上的改进一样,AOP是在面向对象编程(OOP)方法的基础上进行改进而来的一种创新的软件开发方法。
   OOP引入了封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。然而,OOP在处理范围扩展到一些无关对象的公共行为方面达不到要求。
   也就是说,OOP允许你定义从上到下的关系,但并不适合定义从左到右的关系。
   例如,看一下日志功能。日志代码往往水平地散布在所有对象层次中,而与它所散布到的对象的核心功能毫无关系。
   对于其他类型的代码,如安全性、异常处理和透明的持续性也是如此。这种散布在各处的无关的代码被称为横切(cross-cutting)代码,这也是AOP编码方法产生的原因。
  
   AOP提供一种提取横切代码的方法,这种横切代码横跨各个对象层次,但与它所跨越的对象代码在功能上没有相关性。
   AOP不是在类中嵌入横切代码,而是允许你将横切代码提取到一个单独的模块中,然后在需要的时候动态地应用该代码,这个单独的模块叫做一个“特征代码”(“aspect”,也译作“标记”)。
   通过在你的对象模型中需要应用横切代码的地方定义特定的位置–切入点(pointcut)–来实现动态的应用横切代码。在运行或编译时,根据你的AOP框架,横切代码被插入指定的切入点。
   本质上说,AOP允许你在对象中引入新功能,而对象无需了解所引入的功能。这是一个非常有用的概念。
  
  → 什么是Spring AOP,及其作用?
    Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。使 Spring 框架管理的任何对象支持 AOP。
   Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。
 
 参考:http://wiki.matrix.org.cn/Wiki.jsp?page=AOP#section-AOP-AOP_E4_BB_8B_E7_BB_8D
 http://www.huuoo.com/bbs/thread-19112-1-1.html

  ④ Spring DAO:
   提供了JDBC的抽象层。
   JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。
    异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。

  ⑤ Spring ORM:
  提供了常用的“对象/关系”映射APIs的集成层。
   Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。
 
  ⑥ Spring Web 模块:
  提供了基础的针对Web开发的集成特性。
   Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。
   当与WebWork或Struts一起使用Spring时,这个包使Spring可与其他框架结合。
 
  ⑦ Spring MVC 框架:
  构建 Web 应用程序的 MVC 实现。

有问题请联系:qfs_v@yahoo.com

参考:Spring Framework 开发参考手册。

Naveen Balani  Spring 系列: Spring 框架简介。

http://www.ibm.com/developerworks/cn/java/wa-spring1/#author