内容简介
本书介绍了Java EE领域的两个开源框架:Spring的MVC和MyBatis。其中Spring的版本为4.2,MyBatis的版本是3.4。本书的示例建议在Tomcat 8上运行。本书重点介绍如何整合Spring MVC 4+MyBatis 3进行Java EE开发,主要包括三个部分。部分详细介绍了Spring MVC框架的用法。第二部分详细介绍了MyBatis框架的用法。第三部分重点介绍了Spring MVC4+MyBatis 3的整合,并示范开发了一个包含6个表、表之间具有复杂的关联映射关系,且业务功能也相对完善的HRM人事管理系统案例,希望让读者理论联系实际,将这两个框架真正运用到实际开发当中去。该案例采用目前流行、规范的Java EE架构,整个应用分为DAO持久层、领域对象层、业务逻辑层、控制器层和视图层,各层之间分层清晰,层与层之间以松耦合的方法组织在一起。所有代码完全基于Eclipse IDE来完成,一步步带领读者深入两个框架的核心。阅读本书之前,建议先阅读疯狂软件教育的《疯狂Java讲义》一书。本书适合有较好的Java编程基础,JSP、Servlet、JDBC基础,Spring框架基础的读者,尤其适合于对Spring MVC和MyBatis了解不够深入,或对Spring MVC+MyBatis整合开发不太熟悉的开发人员阅读。
图书目录
第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和Model29
2.1.2 MVC思想及其优势10
2.2 Struts2和Spring MVC11
2.3 开发个Spring MVC应用11
2.3.1 Spring的下载和安装11
2.3.2 Spring MVC的DispatcherServlet12
2.3.3 基于Controller接口的控制器13
示例:个Spring MVC应用13
示例:基于注解的控制器17
2.4 详解DispatcherServlet19
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和ModelAndView31
示例: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 messageSource88
5.1.2 localeResolver88
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 ConversionService98
6.2.2 Spring支持的转换器99
示例:使用ConversionService转换数据100
示例:使用@InitBinder添加自定义编辑器转换数据103
示例:使用WebBindingInitializer注册全局自定义编辑器转换数据103
6.2.3 多种转换器的优先顺序104
6.3 数据格式化104
示例:使用Formatter格式化数据105
示例:使用FormatterRegistrar注册Formatter107
示例:使用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和MyBatis133
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 SqlSessionFactory144
9.1.2 SqlSession144
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 select155
9.3.2 insert、update和delete157
9.3.3 sql158
9.3.4 参数(Parameters)159
示例:测试select、insert、update和delete操作159
9.3.5 ResultMaps163
示例:测试ResultMaps163
9.4 本章小结169
第10章 MyBatis的关联映射和动态SQL170
10.1 MyBatis的关联映射171
10.1.1 一对一171
示例:OneToOneTest171
10.1.2 一对多174
示例:OneToManyTest174
10.1.3 多对多179
示例:ManyToManyTest179
10.2 动态SQL185
示例:DynamicSQLTest185
10.2.1 if186
10.2.2 choose(when、otherwise)188
10.2.3 where190
10.2.4 set191
10.2.5 foreach192
10.2.6 bind193
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
示例OneLevelCacheTest201
11.2.2 二级缓存(mapper级别)204
示例:TwoLevelCacheTest204
11.3 本章小结207
第12章 MyBatis的注解配置208
12.1 常用Annotation注解209
12.2 Annotation注解的使用209
示例:测试select、insert、update和delete操作210
示例:AOneToOneTest213
示例:AOneToManyTest215
示例:AManyToManyTest216
示例:ADynamicSQLTest218
12.3 本章小结224
第13章 Spring4整合MyBatis3225
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整合MyBatis3234
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+MyBatis企业应用实战 疯狂软件SSM框架的用法 Spring M 下载 mobi epub pdf txt 电子书 格式
Spring+MyBatis企业应用实战 疯狂软件SSM框架的用法 Spring M 下载 mobi pdf epub txt 电子书 格式 2024
Spring+MyBatis企业应用实战 疯狂软件SSM框架的用法 Spring M 下载 mobi epub pdf 电子书
Spring+MyBatis企业应用实战 疯狂软件SSM框架的用法 Spring M mobi epub pdf txt 电子书 格式下载 2024