描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121304217
本书针对每一个知识点都通过相应的程序给出了示范,所有应用范例都密切契合企业开发实际场景,例如用户权限验证、文件上传下载等都是企业开发实际功能,同时采用了目前企业流行、规范的开发架构,严格遵守Java EE开发规范。读者参考本书的架构,完全可以身临其境地感受企业实际项目开发。
2.内容深入,讲解细致
本书的特点是操作步骤详细,编程思路清晰,语言平实易懂。只要读者认真阅读本书,并掌握书中知识,那么就完全可以胜任企业中Spring MVC MyBatis项目开发的要求。
3.注释详细
本书的代码,几乎每行核心语句都有注释,读者可以很容易地了解代码的意图,轻松掌握相应的知识。
第1章 Java EE应用 1
1.1 Java EE应用概述 2
1.1.1 Java EE应用的分层模型 2
1.1.2 Java EE应用的组件 3
1.1.3 Java EE应用的结构和优势 4
1.2 轻量级Java EE应用相关技术 4
1.2.1 JSP、Servlet和JavaBean及替代技术 4
1.2.2 MyBatis3及替代技术 5
1.2.3 Spring4及替代技术 6
1.2.4 使用开源框架的好处 7
1.3 本章小结 7
第2章 Spring MVC简介 8
2.1 MVC思想概述 9
2.1.1 传统Model1和Model2 9
2.1.2 MVC思想及其优势 10
2.2 Struts2和Spring MVC 11
2.3 开发第一个Spring MVC应用 11
2.3.1 Spring的下载和安装 11
2.3.2 Spring MVC的DispatcherServlet 12
2.3.3 基于Controller接口的控制器 13
示例:第一个Spring MVC应用 13
示例:基于注解的控制器 17
2.4 详解DispatcherServlet 19
2.5 Spring MVC执行的流程 21
2.5.1 Spring MVC应用的开发步骤 22
2.5.2 Spring MVC执行的流程 23
2.6 本章小结 24
第3章 Spring MVC的常用注解 25
3.1 @Controller注解 26
示例:@Controller注解的使用 26
3.2 @RequestMapping注解 28
3.2.1 @RequestMapping注解 28
3.2.2 请求处理方法可出现的参数类型 30
3.2.3 请求处理方法可返回的类型 31
3.2.4 Model和ModelAndView 31
示例:Model和ModelMap的使用 32
示例:ModelAndView的使用 33
3.3 参数绑定注解 33
3.3.1 @RequestParam注解 33
示例:@RequestMapping和@RequestParam注解的使用 34
3.3.2 @PathVariable注解 38
3.3.3 @RequestHeader注解 38
3.3.4 @CookieValue注解 39
示例:@PathVariable、@RequestHeader和@CookieValue注解的使用 39
3.3.5 @SessionAttributes注解 41
示例:@SessionAttributes注解的使用 41
3.3.6 @ModelAttribute注解 42
示例:@ModelAttribute注解的使用 43
3.4 信息转换 49
3.4.1 HttpMessageConverter<T>接口 49
3.4.2 转换JSON数据 51
示例:接收JSON格式的数据 51
示例:自定义HttpMessageConverter接收JSON格式的数据 55
示例:返回JSON格式的数据 57
示例:自定义HttpMessageConverter返回JSON格式的数据 58
3.4.3 转换XML数据 59
示例:接收XML格式的数据 59
示例:返回XML格式的数据 61
3.5 本章小结 62
第4章 Spring MVC的标签库 64
4.1 表单标签库 65
4.1.1 form标签 65
4.1.2 input标签 66
示例:form和input标签的使用 66
4.1.3 password标签 68
4.1.4 hidden标签 69
4.1.5 textarea标签 69
4.1.6 checkbox标签 70
示例:checkbox标签的使用 70
4.1.7 checkboxes标签 71
示例:checkboxes标签的使用 72
4.1.8 radiobutton标签 76
示例:radiobutton标签的使用 76
4.1.9 radiobuttons标签 77
示例:radiobuttons标签的使用 77
4.1.10 select标签 79
4.1.11 option标签 79
4.1.12 options标签 79
示例:select、option和options标签的使用 80
4.1.13 errors标签 83
示例:errors标签的使用 84
4.2 本章小结 86
第5章 Spring MVC的国际化 87
5.1 Spring MVC国际化的相关知识 88
5.1.1 messageSource 88
5.1.2 localeResolver 88
5.1.3 message标签 89
5.2 AcceptHeaderLocaleResolver国际化 89
示例:基于浏览器请求的国际化实现 89
5.3 SessionLocaleResolver国际化 92
示例:基于HttpSession的国际化实现 93
5.4 CookieLocaleResolver国际化 95
示例:基于Cookie的国际化实现 95
5.5 本章小结 96
第6章 Spring MVC的数据转换、格式化和数据校验 97
6.1 数据绑定流程 98
6.2 数据转换 98
6.2.1 ConversionService 98
6.2.2 Spring支持的转换器 99
示例:使用ConversionService转换数据 100
示例:使用@InitBinder添加自定义编辑器转换数据 103
示例:使用WebBindingInitializer注册全局自定义编辑器转换数据 103
6.2.3 多种转换器的优先顺序 104
6.3 数据格式化 104
示例:使用Formatter格式化数据 105
示例:使用FormatterRegistrar注册Formatter 107
示例:使用AnnotationFormatterFactory<A extends Annotation>格式化数据 108
6.4 数据校验 110
6.4.1 Spring的Validation校验框架 111
示例:测试Spring的Validation校验 112
6.4.2 JSR 303校验 114
示例:测试JSR 303校验 115
6.5 本章小结 120
第7章 Spring MVC的文件上传和下载 121
7.1 文件上传 122
示例:Spring MVC的文件上传 122
示例:使用对象接收上传文件 124
7.2 文件下载 125
示例:Spring MVC的文件下载 125
7.3 拦截器 126
7.3.1 HandlerInterceptor接口 127
示例:拦截器实现用户权限验证 127
7.4 本章小结 131
第8章 MyBatis简介 132
8.1 ORM和MyBatis 133
8.1.1 对象/关系数据库映射(ORM) 133
8.1.2 基本映射方式 134
8.1.3 流行的ORM框架简介 135
8.1.4 MyBatis概述 135
8.2 MyBatis入门 136
8.2.1 MyBatis下载和安装 136
8.2.2 MyBatis的数据库操作 137
8.3 本章小结 142
第9章 MyBatis的基本用法 143
9.1 MyBatis的体系结构 144
9.1.1 SqlSessionFactory 144
9.1.2 SqlSession 144
9.2 深入MyBatis的配置文件 146
9.2.1 MyBatis的配置文件结构 147
9.2.2 properties属性 147
9.2.3 settings设置 148
9.2.4 typeAliases类型命名 150
9.2.5 typeHandlers类型处理器 151
9.2.6 objectFactory对象工厂 152
9.2.7 environments配置环境 152
9.2.8 mapper映射器 154
9.3 深入Mapper XML映射文件 155
9.3.1 select 155
9.3.2 insert、update和delete 157
9.3.3 sql 158
9.3.4 参数(Parameters) 159
示例:测试select、insert、update和delete操作 159
9.3.5 ResultMaps 163
示例:测试ResultMaps 163
9.4 本章小结 169
第10章 MyBatis的关联映射和动态SQL 170
10.1 MyBatis的关联映射 171
10.1.1 一对一 171
示例:OneToOneTest 171
10.1.2 一对多 174
示例:OneToManyTest 174
10.1.3 多对多 179
示例:ManyToManyTest 179
10.2 动态SQL 185
示例:DynamicSQLTest 185
10.2.1 if 186
10.2.2 choose(when、otherwise) 188
10.2.3 where 190
10.2.4 set 191
10.2.5 foreach 192
10.2.6 bind 193
10.3 本章小结 194
第11章 MyBatis的事务管理和缓存机制 195
11.1 MyBatis的事务管理 196
11.1.1 事务的概念 196
11.1.2 Transaction接口 196
11.1.3 事务的配置创建和使用 197
11.2 MyBatis的缓存机制 201
11.2.1 一级缓存(SqlSession级别) 201
示例OneLevelCacheTest 201
11.2.2 二级缓存(mapper级别) 204
示例:TwoLevelCacheTest 204
11.3 本章小结 207
第12章 MyBatis的注解配置 208
12.1 常用Annotation注解 209
12.2 Annotation注解的使用 209
示例:测试select、insert、update和delete操作 210
示例:AOneToOneTest 213
示例:AOneToManyTest 215
示例:AManyToManyTest 216
示例:ADynamicSQLTest 218
12.3 本章小结 224
第13章 Spring4整合MyBatis3 225
13.1 开发环境搭建 226
13.2 准备所需的jar包 226
13.3 准备数据库资源 226
13.4 完成配置文件 227
13.5 持久层功能实现 229
13.6 服务层功能实现 230
13.7 控制层功能实现 232
13.8 jsp页面 233
13.9 测试Spring4整合MyBatis3 234
13.10 本章小结 235
第14章 实战项目:人事管理系统 236
14.1 项目简介及系统结构 237
14.1.1 系统功能介绍 237
14.1.2 相关技术介绍 238
14.1.3 系统结构 238
14.1.4 系统的功能模块 239
14.2 数据表和持久化类 239
14.2.1 设计数据库表 239
14.2.2 设计持久化实体 241
14.2.3 创建持久化实体类 242
14.3 实现DAO持久层 248
14.3.1 公共常量类 249
14.3.2 定义DAO接口 249
14.3.3 部署DAO层 263
14.4 实现Service持久层 264
14.4.1 业务逻辑组件的设计 264
14.4.2 实现业务逻辑组件 264
14.4.3 事务管理 279
14.4.4 部署业务逻辑组件 279
14.5 实现Web层 280
14.5.1 控制器的处理顺序 280
14.5.2 用户管理 283
14.5.3 部门管理 287
14.5.4 职位管理 290
14.5.5 员工管理 292
14.5.6 公告管理 296
14.5.7 下载中心 299
14.6 本章小结 303
附录A EL表达式和JSTL标签库 304
时至今日,以Spring为核心的轻量级Java EE企业开发平台在企业开发中占有绝对的优势,Java EE应用以其稳定的性能、良好的开放性以及严格的安全性,深受企业应用开发者的青睐,应用的性能、稳定性都有很好的保证。
轻量级Java EE开发大致可分为两种方式:以Struts Spring Hibernate三大框架为核心的轻量级Java EE,以Spring MVC MyBatis为核心的轻量级Java EE。这两种组合都在保留经典Java EE应用架构、高度可扩展性、高度可维护性的基础上,降低了JavaEE应用的开发、部署成本,对于大部分中小型企业应用是十分需要的。
本书重点介绍以Spring MVC MyBatis为核心的轻量级Java EE。本书采用Tomcat 8作为Web服务器,Eclipse IDE作为开发工具,详细介绍了Spring MVC和MyBatis框架。Spring MVC的配置全部使用注解方式,不再采用旧版本中传统的XML配置方式;MyBatis则基于企业开发实际情况,首先介绍了传统的XML持久化映射,之后又介绍了升级的注解持久化映射。
随着Spring的不断发展,Spring MVC已有取代Struts的能力,而MyBatis相对Hibernate而言则更为轻便、简单,越来越多的公司选择使用Spring MVC MyBatis的轻量级框架组合来开发Java EE项目,掌握Spring MVC MyBatis的技术将为Java开发者带来更多的就业机会与竞争力。
本书有什么特点
本书是一本介绍Spring MVC MyBatis技术以及两者整合的实用图书,全面介绍了Spring MVC和MyBatis各方面的知识。
本书针对每一个知识点都通过相应的程序给出了示范,第14章的实战项目“HRM人事管理系统”采用目前最流行、最规范的Java EE架构,整个应用分为DAO持久层、领域对象层、业务逻辑层、控制器层和视图层,各层之间分层清晰,层与层之间以松耦合的方法组织在一起。笔者既担任过软件开发的技术经理,也担任过软件公司的培训导师,现如今从事专业、高端的职业技术培训,所有应用范例都密切契合企业开发实际场景,例如用户权限验证、文件上传下载等都是企业开发实际功能,同时采用了目前企业十分流行和规范的开发架构,严格遵守Java EE开发规范。读者参考本书的架构,完全可以身临其境地感受企业实际项目开发。
本书并不是一本关于所谓“思想”的书,也没有一堆“深奥”的新名词和“高深”的思想,只会让读者学会实际的Spring MVC和MyBatis技术。本书的特点是操作步骤详细,编程思路清晰,语言平实易懂。只要读者认真阅读本书,并掌握书中知识,那么就完全可以胜任企业中Spring MVC MyBatis项目开发。
阅读本书需要具备一定的计算机知识以及编程功底。熟练掌握Java语言和Spring框架的IOC、AOP和持久层的ORM设计模式等知识对于学习本书是很有必要的。
本书写给谁看
如果你已经掌握Java SE内容,或已经学完了疯狂软件教育的《疯狂Java讲义》一书,那么你非常适合阅读此书。除此之外,如果你已有初步的JSP、Servlet、JDBC基础,甚至对Spirng、MyBatis等框架有所了解,但希望掌握它们在实际开发中应用,本书也将非常适合你。如果你对Java的掌握还不熟练,则建议遵从学习规律,循序渐进,暂时不要购买、阅读此书,而是按照“疯狂Java学习路线图”中的建议顺序学习。
衷心感谢
衷心感谢李刚老师,他是一个非常好的朋友,在本书的创作过程中,他提供了大量切实、有用的帮助。同时衷心感谢疯狂软件教育中心所有同事提供的帮助。
感谢所有参加疯狂软件实训的学生,他们在实际工作场景的应用证明了本书的价值,他们的反馈让本书更加实用。
肖文吉
2016年11月16日
评论
还没有评论。