Hibernate和Spring的诞生彻底改变了传统的JavaEE企业级应用开发的方式和设计 模式。
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC 进行了非常轻量级的对象封装,使得Java程序员可以随心所欲地使用面向对象编程思维来操纵数据库。Hibernate的目标是成为Java中管理数据持久性问题的一种完整解决方案。它协调应用程序与关系型数据库的交互,让开发者解放出来专注于项目的业务逻辑问题。
Spring是为了解决企业应用开发的复杂性而创建的,其主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为JavaEE应用程序开发提供了与各种其他框架的集成。Spring使用基本的JavaBean组件来完成以前只能由EJB完成的企业级特性,而且Spring的用途不仅限于服务器端的开发,也可开发基于JDK的桌面级应用。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring的核心是控制反转(IoC)和面向切面(AOP),它们可极大地简化JavaEE级应用的设计与开发。
Spring和Spring MVC集成Hibernate可以解决以MVC模式为主的企业Java应用任何层的编程问题,并且比传统的Struts2编程的代码量明显减少,项目开发效率显著提高。
本书在详细讲述Hibernate和Spring框架的原理和组成架构时、辅以详细的案例编程,包括持久层的Hibernate编程、业务层的Spring管理事务和依赖注入,控制层的Spring MVC控制器和表示层的Spring MVC标记等,帮助读者尽快在自己的项目中运用所学知识和组件技术。
目前在开发企业级Java应用系统时,无一例外都会使用Hibernate和Spring集成以简化系统的开发,以提高项目的开发效率,尽快地交付项目。尤其是当前项目开发正朝向以REST API为核心的Web服务模式转换,Spring MVC天生的REST API服务开发特性,使得其成为开发REST服务的首选,而其他框架如Struts2、WebWork等在支持REST服务这方面还是非常欠缺的。
本书的特点
1. 循序渐进,深入浅出,通俗易懂
本书在讲解Hibernate和Spring框架的各个组成部分时,从基础开始,结合JavaEE架构技术进行对比学习,采用通俗的语言和日常生活中的案例进行各种技术的讲解,便于读者学习与理解。在介绍新的技术和概念时,避免使用生涩难懂的技术词汇,使用通俗易懂的大众语言,形象生动,便于读者接受和理解。
2. 案例丰富,面向实际,案例驱动
本书面向案例驱动,通过一个简易的办公自动化项目的编程,展示了如何在实际项目中使用Hibernate、Spring和Spring MVC,并详细讲述每个部分的使用、编程、测试和部署。这些案例都经过实际测试和应用,便于读者上手,并在自己的项目中加以灵活应用。
3. 重点突出,内容详实,易于理解
由于Spring框架及其API过于繁杂,本书挑选了实际项目开发中经常使用的元素加以详细讲解,并附以详尽的编程案例加以说明,旨在加强读者的印象和使用经验。
4. 案例典型,实现完整,配置详细
书中的案例全部选择软件开发企业的实际应用项目,并对其进行简化处理帮助初学者积累实际业务经验和知识,通过简化的实际项目编程熟悉Hibernate和Spring使用的重点,而不至于被繁杂的代码所迷惑。
本书的内容
第1章 Hibernate的概念、特性以及应用领域,Hibernate框架的组成和API。
第2章 Hibernate开发环境的安装和配置,使用Eclipse辅助Maven和Ant两种工具。
第3章 Hibernate的配置和SessionFactory创建。
第4章 Hibernate简单映射的基本原理,Hibernate映射的XML和注释方式语法。
第5章 Hibernate主键属性映射,主键值生成器的类型与配置。
第6章 Hibernate关联映射的基本原理,多对一和一对多关联映射的实现与应用。
第7章 Hibernate多对多映射的基本原理,多对多映射的XML和注释实现。
第8章 Hibernate一对一关联映射的基本原理,以及XML和注释方式映射的配置。
第9章 Hibernate的Session API的持久化编程,持久对象的状态和转换。
第10章 Hibernate简单查询的基本原理、HQL语言的基本语法、Query接口的使用。
第11章 Hibernate高级查询,包括关联查询、分类汇总查询和子查询的HQL实现。
第12章 Hibernate的高级特性,包括执行SQL查询、调用数据库的存储过程与函数。
第13章 Spring框架的概念、模块组成以及Spring框架的下载和项目引入的方式。
第14章 Spring Bean的概念、Spring Bean的配置、Bean的范围、工厂Bean等。
第15章 Spring IoC容器的基本原理、IoC容器的配置方式、IoC容器的接口和实 现类。
第16章 AOP概念、AOP组成元素、Spring实现AOP的方式、Advice类型、Advice开发、XML和注释方式配置AOP。
第17章 Spring集成Hibernate基本原理、Spring管理各种数据库连接池、Spring配置管理SessionFactory、各种Hibernate属性的配置、映射文件的配置、事务处理的配置。
第18章 Spring MVC框架概念、组成和基本工作流程,DispactherServlet的功能和配置,Spring MVC简单案例的编程过程。
第19章 Spring MVC控制器编程、控制器类的注释类、控制器方法的参数类型和相关的注释类、控制器方法的返回类型和相关的注释类。
第20章 Spring MVC处理文件上传和下载的编程、文件上传解析器的配置、文件上传控制器方法的编程、上传文件的处理,通过Hibernate将上传文件写入到数据库。
第21章 Spring MVC表单标记,表单标记与控制器传递的业务Model对象的数据绑定,与控制器的Model中的容器绑定的表单标记。
第22章 Spring MVC数据验证的原理和实现方式,重点是Spring MVC内置的数据验证架构与Java验证规范JSR-303实现数据验证的编程,JSR303的实现框架Hibernate Validator的使用和配置。
第23章 Spring MVC实现国际化I18N的基本原理,I18N和L10N的概念,Java实现I18N的实现机制,Spring实现I18N的机制,Spring MVC的国际化的标记使用。
第24章 REST API概念,REST API的规范,Spring MVC实现REST服务的编程和配置,Spring MVC专用的@RestController的使用。
适合读者
(1)Hibernate和Spring的初学者。
(2)JavaEE企业级应用开发人员。
(3)大中专院校的学生。
预备知识
(1)Java编程语言。
(2)网页编程语言HTML、JavaScript、CSS和DOM。
(3)数据库基础知识、SQL语言、SQL Server或Oracle或MySQL。
(4)JavaEE企业级Java开发架构。
致谢
在本书撰写的全程中得到了清华大学出版社贾斌老师的悉心指导以及大连理工大学城市计算机工程学院的大力协助。书中全部的案例代码由大连英科时代发展有限公司系统开发部陆永林总工程师进行精细审核和全面测试,在此作者表示衷心的感谢。由于作者水平有限,书中难免出现疏漏之处,欢迎广大读者批评指正,作者的e-mail为haidonglu@126.com。
编 者
2017年10月