Spring 的数据访问策略

作者: Spring 开发者

Spring 的数据访问策略

Spring 的目标之一,就是允许开发人员在开发过程中能够遵循面向对象(OO)原则中的“针对接口编程”。Spring 对数据访问的支持也不例外。 DAO 是 Data Access Object 的缩写,即数据访问对象。它提供了数据读写到数据库中的一种方式。 Spring 支持 DAO 技术主要目的是:使得切换持久化技术十分方便,如 JDBC、JPA、ORM 等。这样数据访问层仅暴露 DAO 接口,而上层不需要关注具体的持久化技术,达到了解耦的目的。

Spring 的异常体系

  • Spring JDBC 不同于 JDBC,提供了比较丰富的数据异常类型。
  • Spring 的数据异常并没有与特定的持久化方式相关联,所以异常对于不同的持久化方式都是一致的。
  • Spring 的数据异常都继承自 DataAccessException,这种异常是非检查型异常。即,不一定非要捕获 Spring 所抛出的数据访问异常。

    数据访问模板化

    Spring 在数据访问过程中,采用了模板方法设计模式。 它将数据访问过程分为两块:模板(template)和回调(callback)。模板管理过程中固定的部分,而回调处理自定义的数据访问代码。 对于不同的持久化平台,Spring 提供了多个可选的模板。

    使用 DAO 支持类

    基于模板-回调设计,Spring 提供了 DAO 支持类,而将业务本身的 DAO 类作为它的子类。 Spring 不仅提供了多个数据模板实现类,还为每种模板提供了对应的 DAO 支持类。

更多推荐

更多
  • Spring Boot实战-00开篇词从零开始:为什么要学习SpringBoot? 你为什么需要学习这门课程?,这门课程是如何设计的?,讲师寄语, 你好,我是鉴湘,有 10 年以上大型 Java EE 和分布架进行系统开发和维护有着丰富的实践经验。 在我的从业生涯中,曾经带过不少项目,以我所带领的电商项目开发团队为例
  • Spring Boot实战-04定制配置:如何创建和管理自定义的配置信息? 如何在应用程序中嵌入系统配置信息?,如何创建和使用自定义配置信息?,如何组织和整合配置信息?,如何覆写内置的配置类?,小结与预告,03 讲中,我们介绍了 Spring Boot ...
  • Spring Boot实战-09数据抽象:SpringData如何对数据访问过程进行统一抽象? Repository 接口及实现,多样化查询支持,Spring Data 中的组件,小结与预告, 事实上,JdbcTemplate 是相对偏底层的一个工具类,作为系统开发最重要的基础功能之一,族中另一个重要成员 Spring Data
  • Spring Boot实战-13服务调用:如何正确理解RestTemplate远程调用实现原理? 初始化 RestTemplate 实例,RestTemplate 核心执行流程,从源码解析到日常开发,小结与预告, 在 12 讲中,我们详细描述了如何使用 RestTemplate 访问 HTTP 端点的使用方法,它涉及 Res中的这些
  • Spring Boot实战-12服务调用:如何使用RestTemplate消费RESTful服务? 使用 RestTemplate 访问 HTTP 端点,实现 SpringCSS 案例中的服务交互,小结与预告,11 讲我们介绍了如何使用 Spring Boot 构建 RESTful 风格 Web 服务的实现方法,而 S 服务的构建后,
  • Spring Boot实战-结束语以终为始:SpringBoot总结和展望 Spring Boot 的创新性,Spring Boot 课程总结,Spring Boot 的发展和演进, 终于到了课程的最后一讲啦,这一讲我们将对整个 Spring Boot 课程进行总结。 Spring Boring Boot 提供
  • Spring Boot实战-08数据访问:如何剖析JdbcTemplate数据访问实现原理? 从模板方法模式和回调机制说起,JDBC API 到 JdbcTemplate 的演变,JdbcTemplate 源码解析,从源码解析到日常开发,小结与预告,07 讲中,我们介绍了使用 JdbcTemplate ...
  • Spring Boot实战-03多维配置:如何使用SpringBoot中的配置体系? 创建第一个 Spring Boot Web 应用程序,Spring Boot 中的配置体系,小结与预告, 配置体系是基于 Spring Boot 框架开发应用程序的基础,而自动配置也是该框架的核心功能之一。今eb 应用程序开始吧。 创
  • Spring Boot实战-21指标定制:如何实现自定义度量指标和Actuator端点? Actuator 中的度量指标,自定义 Actuator 端点,小结与预告,20 讲中我们引入了 Spring Boot Actuator 组件来满足 这一讲我们继续讨论如何扩展 Actuator 端点,但更多关注与度量指标相关的内容
  • Spring Boot实战-02案例驱动:如何剖析一个SpringWeb应用程序? Spring MVC VS Spring Boot,剖析一个 Spring Web 应用程序,案例驱动:SpringCSS,小结与预告, 在 01 讲中,我们提到 Spring 家族具备很多款开源框架,开发人员可以基于这些开发框架实现各种 ...
  • 近期文章

    更多
    文章目录

      推荐作者

      更多