描述
开 本: 16开纸 张: 轻型纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121361418
内容简介
本书从项目实战的角度来组织内容,详细介绍了目前流行的Hibernate、Spring MVC、Spring框架,并对这三个框架进行整合。全书共9章,分别是Java EE框架概述、在线书城项目案例设计、Hibernate框架开发初步、Hibernate关联映射关系、Hibernate查询语言、Spring MVC框架开发初步、Spring MVC框架开发进阶、Spring框架开发技术、Hibernate-Spring-Spring MVC框架整合。 本书的特色是项目驱动、案例充实、简明实用、通俗易懂。本书体系结构合理、章节设置得当,可作为高等学校计算机及信息工程类专业本科生的教材或参考书,也可供相关领域的读者参考。
目 录
目 录
第1章 Java EE框架概述 1
1.1 Java Web程序体系结构 1
1.1.1 比较C/S结构与B/S结构 1
1.1.2 三层架构 2
1.2 Hibernate、Spring MVC、Spring框架概述 3
1.2.1 Hibernate简介 3
1.2.2 Spring MVC简介 4
1.2.3 Spring简介 4
1.3 Java Web开发环境搭建 5
1.3.1 开发工具选择 5
1.3.2 开发环境搭建 6
习题1 11
第2章 在线书城项目案例设计 13
2.1 项目需求分析 13
2.1.1 项目需求及权限分析 13
2.1.2 项目功能详细介绍 13
2.2 数据库设计 15
2.3 项目实现 19
2.3.1 项目总体架构 19
2.3.2 项目实现计划 19
习题2 20
第3章 Hibernate框架开发初步 21
3.1 Hibernate概述 21
3.1.1 Hibernate简介 21
3.1.2 ORM 22
3.1.3 持久化及数据持久层 22
3.2 Hibernate框架搭建 23
3.2.1 Hibernate框架搭建所需要的jar包 23
3.2.2 实体类和映射文件 26
3.2.3 hibernate.cfg.xml 32
3.2.4 实现由对象模型生成关系模型 33
3.3 Hibernate框架开发步骤 35
3.4 项目案例 39
3.4.1 案例描述 39
3.4.2 案例实施 39
3.4.3 知识点总结 43
3.4.4 拓展与提高 43
习题3 43
第4章 Hibernate关联映射关系 45
4.1 关联映射关系概述 45
4.2 多对一和一对多关系 45
4.2.1 配置映射文件实现 45
4.2.2 注解方式实现 55
4.3 一对一关系 60
4.3.1 配置映射文件实现 60
4.3.2 注解方式实现 67
4.4 多对多关系 73
4.4.1 配置映射文件实现 73
4.4.2 注解方式实现 78
4.5 项目案例 82
4.5.1 案例描述 82
4.5.2 案例实施 83
4.5.3 知识点总结 90
4.5.4 拓展与提高 90
习题4 90
第5章 Hibernate查询语言 92
5.1 HQL 92
5.2 HQL常用查询操作 93
5.2.1 单一属性查询 93
5.2.2 多个属性查询 94
5.2.3 对象查询 94
5.2.4 where直接查询 95
5.2.5 where参数查询 95
5.2.6 多表连接查询 96
5.2.7 分页与汇总 97
5.3 原生SQL查询 98
5.4 项目案例 99
5.4.1 案例描述 99
5.4.2 案例实施 100
5.4.3 知识点总结 103
5.4.4 拓展与提高 103
习题5 103
第6章 Spring MVC框架开发初步 105
6.1 Spring MVC概述 105
6.1.1 Spring MVC简介 105
6.1.2 MVC设计模式 105
6.1.3 Spring MVC工作原理 106
6.1.4 Spring MVC和Struts2框架的对比 107
6.2 Spring MVC开发环境的搭建 107
6.3 Spring MVC多方法访问 110
6.4 Spring MVC访问静态文件 112
6.5 Spring MVC实现数据传递 113
6.6 项目案例 115
6.6.1 案例描述 115
6.6.2 案例实施 115
6.6.3 知识点总结 118
6.6.4 拓展与提高 118
习题6 118
第7章 Spring MVC框架开发进阶 119
7.1 Spring MVC注解方式详解 119
7.2 使用Controller方法返回值 122
7.3 Spring MVC接收请求参数 124
7.3.1 使用简单类型参数绑定请求参数 124
7.3.2 使用@RequestParam注解标签绑定请求参数 125
7.3.3 使用pojo类型参数绑定请求参数 125
7.3.4 使用类型转换器处理请求参数 127
7.3.5 使用数组类型参数绑定请求参数 129
7.3.6 使用List类型绑定请求参数 130
7.3.7 使用HttpServletRequest类型参数接收请求参数 131
7.3.8 乱码问题的解决 131
7.4 Spring MVC中JSON数据的接收及响应 132
7.5 Spring MVC文件的上传 137
7.6 Spring MVC拦截器 138
7.6.1 拦截器概述 138
7.6.2 Spring MVC中的默认拦截器 139
7.6.3 自定义拦截器 140
7.6.4 拦截器链 141
7.7 项目案例 143
7.7.1 案例描述 143
7.7.2 案例实施 144
7.7.3 知识点总结 152
7.7.4 拓展与提高 152
习题7 152
第8章 Spring框架开发技术 153
8.1 Spring概述 153
8.2 Spring开发准备 154
8.2.1 Spring开发环境搭建 154
8.2.2 BeanFactory接口和ApplicationContext接口 156
8.3 控制反转(IOC)和依赖注入(DI) 158
8.3.1 控制反转和依赖注入概述 158
8.3.2 依赖注入的三种方式 158
8.4 项目案例 172
8.4.1 案例描述 172
8.4.2 案例实施 172
8.4.3 知识点总结 176
8.4.4 拓展与提高 176
习题8 176
第9章 Hibernate-Spring-Spring MVC框架整合 178
9.1 环境搭建和基本配置 178
9.1.1 数据库环境准备 178
9.1.2 配置Hibernate开发环境 178
9.1.3 配置Spring MVC开发环境 179
9.1.4 配置Spring开发环境 181
9.2 Spring整合Hibernate框架 183
9.2.1 整合说明及准备 183
9.2.2 Spring整合Hibernate框架具体实现 183
9.3 Spring整合Spring MVC框架 189
9.3.1 整合说明和准备 189
9.3.2 Spring整合Spring MVC框架具体实现 189
9.4 项目案例 193
9.4.1 案例描述 193
9.4.2 案例实施 193
9.4.3 知识点总结 200
9.4.4 拓展与提高 200
习题9 200
参考文献 201
第1章 Java EE框架概述 1
1.1 Java Web程序体系结构 1
1.1.1 比较C/S结构与B/S结构 1
1.1.2 三层架构 2
1.2 Hibernate、Spring MVC、Spring框架概述 3
1.2.1 Hibernate简介 3
1.2.2 Spring MVC简介 4
1.2.3 Spring简介 4
1.3 Java Web开发环境搭建 5
1.3.1 开发工具选择 5
1.3.2 开发环境搭建 6
习题1 11
第2章 在线书城项目案例设计 13
2.1 项目需求分析 13
2.1.1 项目需求及权限分析 13
2.1.2 项目功能详细介绍 13
2.2 数据库设计 15
2.3 项目实现 19
2.3.1 项目总体架构 19
2.3.2 项目实现计划 19
习题2 20
第3章 Hibernate框架开发初步 21
3.1 Hibernate概述 21
3.1.1 Hibernate简介 21
3.1.2 ORM 22
3.1.3 持久化及数据持久层 22
3.2 Hibernate框架搭建 23
3.2.1 Hibernate框架搭建所需要的jar包 23
3.2.2 实体类和映射文件 26
3.2.3 hibernate.cfg.xml 32
3.2.4 实现由对象模型生成关系模型 33
3.3 Hibernate框架开发步骤 35
3.4 项目案例 39
3.4.1 案例描述 39
3.4.2 案例实施 39
3.4.3 知识点总结 43
3.4.4 拓展与提高 43
习题3 43
第4章 Hibernate关联映射关系 45
4.1 关联映射关系概述 45
4.2 多对一和一对多关系 45
4.2.1 配置映射文件实现 45
4.2.2 注解方式实现 55
4.3 一对一关系 60
4.3.1 配置映射文件实现 60
4.3.2 注解方式实现 67
4.4 多对多关系 73
4.4.1 配置映射文件实现 73
4.4.2 注解方式实现 78
4.5 项目案例 82
4.5.1 案例描述 82
4.5.2 案例实施 83
4.5.3 知识点总结 90
4.5.4 拓展与提高 90
习题4 90
第5章 Hibernate查询语言 92
5.1 HQL 92
5.2 HQL常用查询操作 93
5.2.1 单一属性查询 93
5.2.2 多个属性查询 94
5.2.3 对象查询 94
5.2.4 where直接查询 95
5.2.5 where参数查询 95
5.2.6 多表连接查询 96
5.2.7 分页与汇总 97
5.3 原生SQL查询 98
5.4 项目案例 99
5.4.1 案例描述 99
5.4.2 案例实施 100
5.4.3 知识点总结 103
5.4.4 拓展与提高 103
习题5 103
第6章 Spring MVC框架开发初步 105
6.1 Spring MVC概述 105
6.1.1 Spring MVC简介 105
6.1.2 MVC设计模式 105
6.1.3 Spring MVC工作原理 106
6.1.4 Spring MVC和Struts2框架的对比 107
6.2 Spring MVC开发环境的搭建 107
6.3 Spring MVC多方法访问 110
6.4 Spring MVC访问静态文件 112
6.5 Spring MVC实现数据传递 113
6.6 项目案例 115
6.6.1 案例描述 115
6.6.2 案例实施 115
6.6.3 知识点总结 118
6.6.4 拓展与提高 118
习题6 118
第7章 Spring MVC框架开发进阶 119
7.1 Spring MVC注解方式详解 119
7.2 使用Controller方法返回值 122
7.3 Spring MVC接收请求参数 124
7.3.1 使用简单类型参数绑定请求参数 124
7.3.2 使用@RequestParam注解标签绑定请求参数 125
7.3.3 使用pojo类型参数绑定请求参数 125
7.3.4 使用类型转换器处理请求参数 127
7.3.5 使用数组类型参数绑定请求参数 129
7.3.6 使用List类型绑定请求参数 130
7.3.7 使用HttpServletRequest类型参数接收请求参数 131
7.3.8 乱码问题的解决 131
7.4 Spring MVC中JSON数据的接收及响应 132
7.5 Spring MVC文件的上传 137
7.6 Spring MVC拦截器 138
7.6.1 拦截器概述 138
7.6.2 Spring MVC中的默认拦截器 139
7.6.3 自定义拦截器 140
7.6.4 拦截器链 141
7.7 项目案例 143
7.7.1 案例描述 143
7.7.2 案例实施 144
7.7.3 知识点总结 152
7.7.4 拓展与提高 152
习题7 152
第8章 Spring框架开发技术 153
8.1 Spring概述 153
8.2 Spring开发准备 154
8.2.1 Spring开发环境搭建 154
8.2.2 BeanFactory接口和ApplicationContext接口 156
8.3 控制反转(IOC)和依赖注入(DI) 158
8.3.1 控制反转和依赖注入概述 158
8.3.2 依赖注入的三种方式 158
8.4 项目案例 172
8.4.1 案例描述 172
8.4.2 案例实施 172
8.4.3 知识点总结 176
8.4.4 拓展与提高 176
习题8 176
第9章 Hibernate-Spring-Spring MVC框架整合 178
9.1 环境搭建和基本配置 178
9.1.1 数据库环境准备 178
9.1.2 配置Hibernate开发环境 178
9.1.3 配置Spring MVC开发环境 179
9.1.4 配置Spring开发环境 181
9.2 Spring整合Hibernate框架 183
9.2.1 整合说明及准备 183
9.2.2 Spring整合Hibernate框架具体实现 183
9.3 Spring整合Spring MVC框架 189
9.3.1 整合说明和准备 189
9.3.2 Spring整合Spring MVC框架具体实现 189
9.4 项目案例 193
9.4.1 案例描述 193
9.4.2 案例实施 193
9.4.3 知识点总结 200
9.4.4 拓展与提高 200
习题9 200
参考文献 201
前 言
前 言
在企业级应用的开发选择上,Java EE应用以其稳定的性能、良好的开放性、严格的安全性深受企业应用开发者的青睐;Java EE平台已经成为电信、金融、电子商务、保险、证券等各行业的大型应用系统的首选开发平台。
目前,以Spring为核心的轻量级Java EE企业开发平台在企业开发中占有绝对的优势。轻量级Java EE开发大致可分为两种方式:以Struts Spring Hibernate三大框架为核心的轻量级Java EE和以Spring MVC Spring MyBatis为核心的轻量级Java EE。这是目前使用比较多的框架整合方式。
首先,虽然Struts2框架不失为一种优秀的MVC模式框架,但其机制臃肿,校验烦琐,安全性也有待提高,并且在和Spring进行整合时很难做到无缝整合。而Spring MVC原生于Spring框架,可以无缝对接Spring的核心技术。与Struts不同,因为它的流程模块化,没有那么多臃肿的类,所以Spring MVC框架是目前Web应用框架的主流。
其次,虽然MyBatis以其简单、灵活等优点深受程序编写者的青睐,但MyBatis框架过于依赖数据库,导致数据库移植性差,不能随意更换数据库。而Hibernate是对JDBC的封装,数据无关性好;另外针对高级查询,MyBatis需要手动编写SQL语句及ResultMap,而Hibernate有良好的映射机制,开发者无须关心SQL的生成与结果映射,可以更专注于业务流程,因此Hibernate框架仍然是目前持久化层框架开发的主流。
因此,基于以上这些框架的优缺点,本书将采用Spring MVC Spring Hibernate三大框架的整合方式,这种整合方案以Spring MVC框架来替换Struts2框架,持久化层使用Hibernate框架,这种整合方案既吸取了Spring MVC框架的灵活方便、能和Spring无缝整合的优点,又保留了Hibernate这种优秀的持久化ORM框架;使得软件的开发既能灵活方便,又能提高程序的可复用性和可移植性。这种整合方案既适合开发大型软件,又可以进行小型项目的设计,是很多软件公司采用的一种框架整合方案。然而,目前图书市场上很难找到一本与Spring MVC Spring Hibernate框架整合相关的图书。基于此,编者准备竭尽所能编写一本Spring MVC Spring Hibernate框架方面的教材。
本书具有以下两大特色。
(1)项目驱动。本书以实现在线书城项目为主线,在第2章中对该项目进行设计,在后续章节中利用各章介绍的知识完成项目的各功能,例如利用第3~5章的Hibernate框架完成在线书城数据层的代码,利用第6~7章的Spring MVC框架完成在线书城表示层的代码,利用第8~9章的Spring框架完成在线书城业务层的代码并完成框架的整合。这样的设计使得本书真正做到了项目驱动。
(2)从实战、实用的角度来组织内容。本书所介绍的框架都是非常优秀的框架,无论是Hibernate框架还是Spring MVC、Spring框架,在知识体系上都是博大精深的。很多其他教材在介绍这些框架时,通常花费很大的篇幅对每个框架进行理论上的详细介绍,而本书侧重于从实用的角度来介绍这些框架,更侧重于介绍这些框架在具体项目的实战应用。这种介绍方式可能在理论介绍上不如传统教材那么细致入微,但是能让读者学到这些框架在实际项目中的具体作用,并且这种介绍方式更能激发读者的阅读积极性,使读者能够习得一技之长。
本书可作为高等学校计算机及信息工程类专业本科生的教材或参考书,也可供相关领域的读者参考。本书的参考教学时数在80学时以内。
本书由谷志峰、李同伟任主编,并负责全书统稿;由琚伟伟任副主编。具体分工为:第6章、第7章、第8章、第9章由谷志峰负责编写;第1章、第2章、第3章由李同伟负责编写;第4章、第5章由琚伟伟负责编写。
本书的出版得到了河南科技大学软件学院及教务处的大力支持,软件学院的霍华、刘欣亮、叶传奇、张虎对本书的编写提出了很多宝贵的意见。在此,我们一并表示衷心的感谢。
尽管在编写过程中,我们本着科学严谨的态度力求精益求精,但错误、疏忽之处在所难免,敬请广大读者批评指正。
在企业级应用的开发选择上,Java EE应用以其稳定的性能、良好的开放性、严格的安全性深受企业应用开发者的青睐;Java EE平台已经成为电信、金融、电子商务、保险、证券等各行业的大型应用系统的首选开发平台。
目前,以Spring为核心的轻量级Java EE企业开发平台在企业开发中占有绝对的优势。轻量级Java EE开发大致可分为两种方式:以Struts Spring Hibernate三大框架为核心的轻量级Java EE和以Spring MVC Spring MyBatis为核心的轻量级Java EE。这是目前使用比较多的框架整合方式。
首先,虽然Struts2框架不失为一种优秀的MVC模式框架,但其机制臃肿,校验烦琐,安全性也有待提高,并且在和Spring进行整合时很难做到无缝整合。而Spring MVC原生于Spring框架,可以无缝对接Spring的核心技术。与Struts不同,因为它的流程模块化,没有那么多臃肿的类,所以Spring MVC框架是目前Web应用框架的主流。
其次,虽然MyBatis以其简单、灵活等优点深受程序编写者的青睐,但MyBatis框架过于依赖数据库,导致数据库移植性差,不能随意更换数据库。而Hibernate是对JDBC的封装,数据无关性好;另外针对高级查询,MyBatis需要手动编写SQL语句及ResultMap,而Hibernate有良好的映射机制,开发者无须关心SQL的生成与结果映射,可以更专注于业务流程,因此Hibernate框架仍然是目前持久化层框架开发的主流。
因此,基于以上这些框架的优缺点,本书将采用Spring MVC Spring Hibernate三大框架的整合方式,这种整合方案以Spring MVC框架来替换Struts2框架,持久化层使用Hibernate框架,这种整合方案既吸取了Spring MVC框架的灵活方便、能和Spring无缝整合的优点,又保留了Hibernate这种优秀的持久化ORM框架;使得软件的开发既能灵活方便,又能提高程序的可复用性和可移植性。这种整合方案既适合开发大型软件,又可以进行小型项目的设计,是很多软件公司采用的一种框架整合方案。然而,目前图书市场上很难找到一本与Spring MVC Spring Hibernate框架整合相关的图书。基于此,编者准备竭尽所能编写一本Spring MVC Spring Hibernate框架方面的教材。
本书具有以下两大特色。
(1)项目驱动。本书以实现在线书城项目为主线,在第2章中对该项目进行设计,在后续章节中利用各章介绍的知识完成项目的各功能,例如利用第3~5章的Hibernate框架完成在线书城数据层的代码,利用第6~7章的Spring MVC框架完成在线书城表示层的代码,利用第8~9章的Spring框架完成在线书城业务层的代码并完成框架的整合。这样的设计使得本书真正做到了项目驱动。
(2)从实战、实用的角度来组织内容。本书所介绍的框架都是非常优秀的框架,无论是Hibernate框架还是Spring MVC、Spring框架,在知识体系上都是博大精深的。很多其他教材在介绍这些框架时,通常花费很大的篇幅对每个框架进行理论上的详细介绍,而本书侧重于从实用的角度来介绍这些框架,更侧重于介绍这些框架在具体项目的实战应用。这种介绍方式可能在理论介绍上不如传统教材那么细致入微,但是能让读者学到这些框架在实际项目中的具体作用,并且这种介绍方式更能激发读者的阅读积极性,使读者能够习得一技之长。
本书可作为高等学校计算机及信息工程类专业本科生的教材或参考书,也可供相关领域的读者参考。本书的参考教学时数在80学时以内。
本书由谷志峰、李同伟任主编,并负责全书统稿;由琚伟伟任副主编。具体分工为:第6章、第7章、第8章、第9章由谷志峰负责编写;第1章、第2章、第3章由李同伟负责编写;第4章、第5章由琚伟伟负责编写。
本书的出版得到了河南科技大学软件学院及教务处的大力支持,软件学院的霍华、刘欣亮、叶传奇、张虎对本书的编写提出了很多宝贵的意见。在此,我们一并表示衷心的感谢。
尽管在编写过程中,我们本着科学严谨的态度力求精益求精,但错误、疏忽之处在所难免,敬请广大读者批评指正。
编 者
评论
还没有评论。