新書推薦:
《
推拿纲目
》
售價:HK$
403.2
《
精致考古--山东大学实验室考古项目论文集(一)
》
售價:HK$
244.2
《
从天下到世界——国际法与晚清中国的主权意识
》
售價:HK$
76.2
《
血色帝国:近代英国社会与美洲移民
》
售價:HK$
58.2
《
海外中国研究·王羲之:六朝贵族的世界(艺术系列)
》
售價:HK$
178.1
《
唐宋绘画史 全彩插图版
》
售價:HK$
98.6
《
海洋、岛屿和革命:当南方遭遇帝国(文明的另一种声音)
》
售價:HK$
106.4
《
铝合金先进成型技术
》
售價:HK$
266.6
|
編輯推薦: |
推荐购买: 《轻量级Java EE企业应用实战(第4版)》 《疯狂HTML 5CSS 3JavaScript讲义》
《疯狂Ajax讲义(第3版)》 1.贴近实际项目,以案例驱动
本书针对每一个知识点都通过相应的程序给出了示范,所有应用范例都密切契合企业开发实际场景,例如用户权限验证、文件上传下载等都是企业开发实际功能,同时采用了目前企业流行、规范的开发架构,严格遵守Java EE开发规范。读者参考本书的架构,完全可以身临其境地感受企业实际项目开发。
2.内容深入,讲解细致
本书的特点是操作步骤详细,编程思路清晰,语言平实易懂。只要读者认真阅读本书,并掌握书中知识,那么就完全可以胜任企业中Spring MVC MyBatis项目开发的要求。
3.注释详细
本书的代码,几乎每行核心语句都有注释,读者可以很容易地了解代码的意图,轻松掌握相应的知识。
|
內容簡介: |
本书介绍了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整合开发不太熟悉的开发人员阅读。
|
關於作者: |
疯狂软件,多年来从事Java开发、移动开发等方面的培训与研发工作,承接大型研发项目。疯狂软件是广州为学教育科技有限公司的教育品牌,立志以务实的技术来改变中国的软件教育,所培训的学生入职华为、IBM、阿里软件、网易、电信盈科等IT名企。
|
目錄:
|
第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为核心的轻量级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日
|
|