前言

为什么要学习本书

当前轻量级Java EE(Java企业版)应用开发通常会采用两种方式:一种是以SSH(Struts +Spring+Hibernate)框架为核心的组合方式,另一种是以SSM(Spring+Spring MVC+ MyBatis)框架为核心的组合方式。使用这两种组合方式的项目都使Java EE架构具有高度的可维护性和可扩展性,同时极大地提高了项目的开发效率,降低了开发和维护的成本,因此,这两种组合方式已成为当前各个企业项目开发的首选。

两种组合框架的相同点在于都以Spring框架为核心,而两者的主要不同之处在于MVC的实现方式(Struts与Spring MVC),以及ORM持久化方面(Hibernate与Mybatis)。SSH较注重配置开发,其中的Hibernate对JDBC的完整封装更加面向对象,对增、删、改、查的数据维护更自动化,但SQL优化方面较弱,且学习门槛稍高;SSM更注重注解式开发,且ORM实现更加灵活,SQL优化更简便,学习容易入门。目前来说,传统企业项目的开发,使用SSH框架比较多,而对性能要求较高的互联网项目,通常会选用SSM框架。因此,对于想从事互联网项目开发的人员来说,学好SSM框架,就显得比较重要了。

如何使用本书

本书适用于具有Java基础和一定的Java Web相关知识的读者学习,对于没有任何基础的读者,建议先学习本套系教材中的《Java基础案例教程》和《Java Web程序设计任务教程》。

本书在Spring 4.3 + Spring MVC 4.3 + MyBatis 3版本的基础上,详细讲解了这三大框架的基础知识和使用方法。在编写时,作者力求将一些非常复杂、难以理解的思想和问题简单化,使读者能够轻松理解并快速掌握这些知识点。同时,本书还对每个知识点都进行了深入的分析,并针对重要知识点精心设计了案例,以提高读者的实践操作能力。

全书共分为18个章节,接下来分别对每个章节的内容进行简单的介绍,具体如下。

· 第1章讲解了Spring框架入门的一些基础知识,主要内容包括Spring框架的概念、作用、优点、体系结构、下载和使用、核心容器、入门程序以及依赖注入等。

· 第2章对Spring中的Bean进行了详细讲解,主要内容包括Bean的配置、Bean实例化的三种方式、Bean的作用域、Bean的生命周期以及Bean的三种装配方式。

· 第3章讲解了Spring框架中AOP的相关知识,主要内容包括AOP的介绍、动态代理、基于代理类的AOP实现以及如何使用AspectJ框架来进行AOP开发等。

· 第4章对Spring的数据库开发进行了详细讲解。主要包括Spring JDBC中的核心类和配置的介绍,以及Spring JDBCTemplate的常用方法。

· 第5章对Spring中的事务管理进行了详细讲解,主要内容包括Spring事务管理的核心接口、事务管理的方式,以及基于XML方式和基于Annotation方式的声明式事务处理的使用。

· 第6章对MyBatis框架的基础知识进行了讲解,主要内容包括MyBatis框架的概念,特点,下载和使用,工作原理以及一个简单的查、增、改、删案例。

· 第7章对MyBatis的核心配置进行了详细讲解。主要包括MyBatis中的两个重要核心对象SqlSessionFactory和SqlSession,以及MyBatis配置文件和映射文件的详细讲解。

· 第8章对MyBatis框架的动态SQL知识进行了详细讲解,主要内容包括常用的动态SQL元素介绍以及常用动态SQL元素的使用。

· 第9章对MyBatis框架中的关联映射知识进行了详细讲解,主要内容包括关联关系中的一对一、一对多和多对多的处理。

· 第10章对MyBatis与Spring框架的整合使用进行了详细讲解,主要内容包括整合的环境搭建、传统DAO开发方式的整合和基于Mapper编程方式的整合。

· 第11章对Spring MVC框架的入门知识进行了详细讲解,主要内容包括Spring MVC的介绍、入门程序的编写以及Spring MVC框架的工作流程。

· 第12章对Spring MVC的核心类及其相关注解的使用进行了详细的讲解,主要内容包括对前端控制器DispatcherServlet的作用和配置的介绍,@Controller注解和@RequestMapping注解类型的使用,以及视图解析器的定义和配置。

· 第13章对Spring MVC中的数据绑定知识进行了详细讲解,主要内容包括数据绑定介绍、简单数据绑定和复杂数据绑定。

· 第14章对Spring MVC中的JSON数据交互和RESTful支持进行了详细的讲解,主要内容包括JSON的介绍、Spring MVC中的JSON数据交互以及RESTful支持的使用。

· 第15章对Spring MVC中拦截器的使用进行了详细讲解,主要内容包括拦截器的定义和配置,单个拦截器和多个拦截器的执行流程,以及拦截器的实际应用。

· 第16章对Spring MVC环境下的文件上传和下载进行了详细讲解,主要内容包括如何实现文件上传和下载,以及如何实现中文名称文件的下载。

· 第17章对SSM框架的整合知识进行了详细讲解,主要内容包括SSM框架整合的环境搭建及SSM的整合过程。

· 第18章对SSM框架的实际应用(BOOT客户管理系统)进行了详细讲解,主要内容包括系统概述、数据库设计、系统环境搭建,以及用户登录模块和客户管理模块的开发实现等。

在学习过程中,读者一定要亲自实践书中的案例代码,如果不能完全理解书中所讲的知识点,可以登录博学谷平台,通过平台中的教学视频进行辅助学习。学习完一个知识点后,要及时在博学谷平台上进行测试以巩固学习内容。另外,如果读者在理解知识点的过程中遇到困难,建议不要纠结于某个地方,可以先往后学习。通常来讲,随着对后面知识的不断深入了解,前面看不懂的知识点一般就能理解了。如果读者在动手练习的过程中遇到问题,建议多思考,理清思路,认真分析问题发生的原因,并在问题解决后多总结。

致谢

本书的编写和整理工作由传智播客教育科技股份有限公司完成,其中主要的参与人员有吕春林、陈欢、韩永蒙、石荣新、杜宏、梁桐、王友军、冯佳等。全体人员在近一年的编写过程中,付出了很多辛勤的汗水,在此一并表示衷心的感谢。

意见反馈

尽管我们尽了最大的努力,但教材中难免会有不妥之处,欢迎各界专家和读者朋友们来函给予宝贵意见,我们将不胜感激。您在阅读本书时,如发现任何问题或有不认同之处可以通过电子邮件与我们取得联系。

请发送电子邮件至:itcast_book@vip.sina.com。

黑马程序员

2017-6-12于北京