Spring整理

参考来源:
Spring框架简介
用Java实现OR映射

一. Spring整体

Spring整理_第1张图片
Spring框架结构

组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:

  • 核心容器:主要组件是BeanFactory 使用控制反转 (IOC) 模式, 将应用程序的配置和依赖性规范与实际的应用程序代码分开。
  • Spring 上下文:配置文件,包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。
  • Spring AOP:通过配置管理特性,为基于 Spring 的应用程序中的对象提供了事务管理服务,将声明性事务管理集成到应用程序中。
  • Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。
  • Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。
  • Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
  • Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。

二. AOP技术

软件系统通常由多个组件构成,每个组件负责一个特定的功能领域。但是,这些组件也经常承担它们的核心功能之外的额外责任,例如系统服务(例如日志、事务管理和安全性)。

使用 AOP 时,仍然是在一个地方定义系统的公共功能,但是可以声明性地定义 如何在哪里 应用这个功能。如果对横切关注点(例如日志和事务管理)进行了模块化,那么不用修改每个单独的类,就可以向代码中添加新特性。这类模块化的关注点称作 方面

  • 影响多个类的行为封装到可重用的模块中。
  • 动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。

例如,在典型的面向对象开发方式中,可能要将日志记录语句放在所有方法和 Java 类中才能实现日志功能。在 AOP 方式中,可以反过来将日志服务模块化,并以声明的方式将它们应用到需要日志的组件上。当然,优势就是 Java 类不需要知道日志服务的存在,也不需要考虑相关的代码。所以,用 Spring AOP 编写的应用程序代码是松散耦合的。

三. OR映射

OR框架翻译过来就是对象关系映射框架。
流行ORM框架,例如Hibernate,Ibatis等,使用面向对象的思想来操纵数据库。一个OR映射应该包含:

  • OV类。 OV类可以是一个简单的POJO类,域是数据库字段,包含get、set方法。
  • 通用DO类。 操作OV的类,一般至少包含四个方法,对应数据库的增删改查。以及SQL执行。
  • 核心类。 根据对象的增删改查四种情况产生对应的SQL语句,然后通过SQL语句进行数据库操作,从而完成OR映射。
  • 数据库连接类。 对数据库的连接和断开做封装。

你可能感兴趣的:(Spring整理)