内容简介
本书全面地讲解了使用最新流行轻量级框架SSM进行Java EE Web开发的技术,重点介绍了Eclipse开发平台、Spring框架、Spring MVC和MyBatis框架等基础知识,并用三个SSM框架整合案例演示框架应用技巧和连接技术,内容由浅入深,引人入胜。
本书共分21章,各基础章节在知识点讲解中,均结合了小案例的精讲,以帮助读者更好地理解和掌握。综合实例部分涉及三个SSM整合案例,均按功能分类,采用三层架构(数据访问层、业务逻辑层和视图层)进行精讲,各层之间分层清晰,层与层之间耦合方法简单,读者可以全面理解实现过程,同时三个案例分别使用了三个流行前端UI:Easy UI、Bootstrap和Vue,可以进一步拓展读者的知识面。为方便读者学习和教学开展,本书提供了全程真实课程录像。
本书不仅适合初学者按部就班地学习,也适合网络开发人员作为技术参考,同时,也可作为高等院校计算机相关专业学生的课堂教材。
前 言
SSM框架是继SSH之后,目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统。 SSM框架,是Spring + Spring MVC + MyBatis的缩写,Spring通过依赖注入来管理各层的组件,使用面向方面编程AOP管理事务、日志、权限等。Spring MVC代表了Model(模型)、View(视图)、Controller(控制),接收外部请求,进行分发和处理。MyBatis基于JDBC的框架,主要用来操作数据库,并将业务实体和数据表联系起来。
1. 本书内容结构
本书全面介绍了Eclipse开发平台、Spring框架、Spring MVC框架和MyBatis框架等基础知识,最后通过三个具体实例详细讲解了SSM框架的整合和运用。全书共分21章,具体内容如下。
第1章 搭建Java Web开发环境,主要介绍Java开发包(Java Development Kit)、应用服务器Tomcat、MySQL数据库和集成开发环境Eclipse。
第2章 Spring的基本应用,主要介绍Spring框架入门的一些基础知识,重点讲解Spring的核心机制:依赖注入/控制反转。
第3章 Spring Bean的装配模式,主要介绍Bean工厂ApplicationContext、Bean的配置、Bean的作用域和Bean的装配方式。
第4章 Spring AOP(面向方面编程),主要介绍Spring AOP的相关概念,并以日志通知为例先后讲解基于XML配置文件的AOP实现和基于@AspectJ注解的AOP实现。
第5章 Spring的数据库编程,主要介绍Spring中的JDBC编程。
第6章 Spring MVC简介,主要介绍Spring MVC的模式、基础知识和工作流程。
第7章 Spring MVC常用注解,介绍Spring MVC的常用注解和3种请求映射方式,参数绑定注解和转换JSON格式。
第8章 Spring MVC标签库,介绍Spring MVC的表单标签和如何使用表单标签绑定数据。
第9章 Spring MVC类型转换、数据格式化和数据校验,介绍Spring MVC的数据处理。
第10章 Spring MVC的文件上传和下载,介绍MultipartResolver接口和ResponseEntity类型。
第11章 Spring MVC的国际化和拦截器,介绍messageSource、LocaleResolver国际化语言区域解析器接口以及拦截器的配置。
第12章 MyBatis入门,介绍MyBatis框架的概念、下载与安装和工作原理,并详细讲解MyBatis框架的基本用法。
第13章 MyBatis的关联映射,介绍使用MyBatis框架处理三种关联关系的具体过程。
第14章 动态SQL,介绍MyBatis框架的动态SQL及动态SQL的主要元素。
第15章 MyBatis的注解配置,介绍MyBatis框架基于注解的单表增删改查、多表关联映射和动态SQL等。
第16章 MyBatis缓存,介绍MyBatis框架的缓存概念和一级缓存、二级缓存的用法。
第17章 Spring整合MyBatis,介绍SSM框架,并以登录功能为例,采用注解方式实现Spring与MyBatis框架的整合。
第18章 前端UI框架,介绍jQuery Easy UI、Bootstrap和Vue三种前端框架。
第19章 电商平台后台管理系统,结合前端Easy UI框架,详细讲解典型的电商平台后台管理系统的具体实现过程。
第20章 校园通讯管理系统,结合前端Bootstrap的H+框架,详细讲解校园通讯管理系统的具体实现过程。
第21章 电商网站,结合前端Vue框架,详细讲解简单的电商网站的具体实现过程。
2.本书的特点和优势
本书作者在Java EE Web领域具有多年的开发和教学讲解经验,熟悉Java开发理论知识体系,凭着娴熟的笔法和渊博的理论知识,采取精雕细琢的写作方式,将SSM开发技术展现得淋漓尽致,能使读者很快进入实际开发角色。本书与市场上其他类似书籍相比,具有以下与众不同的特色。
(1) 细致全面:本书内容的编排从开发环境搭建开始,从基本知识入手,由浅入深地逐渐转入到高级部分,所讲解的内容囊括了SSM框架的重要知识点。注重介绍如何在实际工作中活用基础知识,做到高质量地进行程序开发。
(2) 结合示例:本书在各章知识点的讲解中,都结合了小示例的精讲加以验证。对特别难懂的知识点,通过恰当的示例帮助读者进行分析、加以理解。
(3) 讲解透彻:本书在项目案例讲解的过程中,均按功能分类,采用三层架构(模型、视图、控制)进行相关组件的讲解,各层之间分层清晰,层与层之间以松耦合的方法组织在一起,便于读者理解每个功能的实现过程。
(4) 实用性强:本书的实用性较强,以经验为后盾、以实践为导向、以实用为目标,深入浅出地讲解Java Web开发中的各种问题。
(5) 课堂实录:采用知识讲解+课堂实录的方式,提供一套全过程课程录像,更利于读者跟进学习,既可以直接用于学校教学,又方便读者自学,是很多初学者和教学老师的选择。
3. 本书读者对象
有一定Java基础,但是没有Java EE系统开发经验的初学者。
有其他Web编程语言(如ASP、ASP.NET)开发经验,欲快速转向Java EE开发的程序员。
对JSP有一定了解,但是缺乏Java EE框架开发经验,并希望了解流行开源框架Spring、Spring MVC和MyBatis以及欲对这些框架进行整合的程序员。
有一定Java Web框架开发基础,需要对Java EE主流框架技术核心进一步了解和掌握的程序员。
大中专院校正在学习编程开发的计算机及相关专业的学生。
公司管理人员或人力资源管理人员。
4.本书配套资源
本书附赠完整的学习资源,包括同步教学录像、教学PPT、源代码、素材文件等内容,可供学习者使用,请从清华大学出版社官网(http://www.tup.tsinghua.edu.cn)下载。
5. 本书作者及致谢
本书由扬州职业大学的缪勇和施俊编写。其中,施俊编写第1~11章,主要内容是开发环境搭建和Spring、Spring MVC基础知识;缪勇编写第12~21章,主要内容是MyBatis基础知识和三个整合案例。李新锋对全书进行了审核和统筹,其他参与编写的人员还有王梅、陈亚辉、李艳会、刘娇、王晶晶、游名扬、李云霞、王永庆、蒋梅芳、谢伟、纪航、沈勇等,同时扬州国脉通信发展有限责任公司、江苏智途科技股份有限公司也为本书的编写提供了帮助,在此一一向他们致谢。
由于作者水平有限,书中难免存在一些不足和疏漏之处,敬请读者批评指正。
目 录
第1章 搭建Java Web开发环境 11.1 建立JDK的环境 11.1.1 下载与安装JDK 11.1.2 配置JDK环境变量 31.1.3 验证JDK是否配置 41.2 建立Tomcat的环境 41.2.1 下载与安装Tomcat 51.2.2 配置Tomcat环境变量 51.2.3 启动与停止Tomcat 61.2.4 Tomcat的目录结构 61.3 创建MySQL数据库环境 71.3.1 MySQL概述 71.3.2 下载MySQL 81.3.3 安装与配置MySQL 101.3.4 使用MySQL数据库 121.4 搭建Java Web开发环境 141.4.1 下载与安装Eclipse 141.4.2 在Eclipse中配置JDK 141.4.3 在Eclipse中配置Tomcat 151.5 创建和发布Java Web工程 161.5.1 创建Web项目、设计项目目录结构 161.5.2 编写页面代码,部署和运行Web项目 181.6 小结 19第2章 Spring的基本应用 202.1 Spring概述 202.1.1 Spring的概念 202.1.2 Spring的优点 212.1.3 Spring的体系结构 212.1.4 Spring的下载 232.2 搭建Spring的入门程序 242.3 Spring的核心机制:依赖注入/控制反转 262.3.1 依赖注入的概念 262.3.2 依赖注入的类型 272.3.3 依赖注入的示例 292.4 小结 32第3章 Spring Bean的装配模式 333.1 Spring IoC容器 333.1.1 Bean工厂BeanFactory 333.1.2 Bean工厂ApplicationContext 343.2 Bean的配置 353.3 Bean的作用域 373.4 Bean的装配方式 383.4.1 基于XML的Bean装配 383.4.2 基于Annotation的Bean装配 393.4.3 自动装配 413.5 小结 42第4章 Spring AOP(面向方面编程) 434.1 AOP概述 434.1.1 认识AOP 434.1.2 AOP术语 454.2 基于XML配置文件的AOP实现 464.2.1 前置通知 464.2.2 返回通知 494.2.3 异常通知 504.2.4 环绕通知 514.3 基于@AspectJ注解的AOP实现 524.4 小结 56第5章 Spring的数据库编程 575.1 Spring JDBC 575.1.1 Spring JdbcTemplate类 575.1.2 Spring JDBC的配置 585.2 JdbcTemplate的常用方法 595.2.1 execute()方法 595.2.2 update()方法 615.2.3 query()方法 675.3 小结 70第6章 Spring MVC简介 716.1 MVC模式概述 716.1.1 Model I和Model II 716.1.2 MVC模式及其优势 726.2 Spring MVC概述 736.3 Spring MVC环境搭建 746.4 Spring MVC请求流程 786.5 小结 79第7章 Spring MVC常用注解 807.1 基于注解的控制器 807.1.1 @Controller注解 807.1.2 @RequestMapping注解 837.2 请求映射方式 847.2.1 根据请求方式进行映射 847.2.2 Ant风格的URL路径映射 857.2.3 REST风格的URL路径映射 867.3 绑定控制器类处理方法入参 887.4 控制器类处理方法的返回值类型 927.5 保存模型属性到HttpSession 927.6 在控制器类的处理方法执行前执行指定的方法 937.7 直接页面转发、自定义视图与页面重定向 947.8 Spring MVC返回JSON数据 967.9 小结 100第8章 Spring MVC标签库 1018.1 Spring MVC表单标签库概述 1018.2 Spring MVC表单标签库 1028.2.1 form标签 1028.2.2 input标签 1038.2.3 password标签 1058.2.4 hidden标签 1058.2.5 textarea标签 1058.2.6 checkbox标签 1068.2.7 radiobutton标签 1078.2.8 select标签 1088.2.9 option标签 1098.2.10 options标签 1098.2.11 errors标签 1138.3 小结 114第9章 Spring MVC类型转换、数据 格式化和数据校验 1159.1 数据绑定简介 1159.2 数据类型转换 1169.2.1 使用ConversionService进行类型转换 1169.2.2 使用@InitBinder注解进行类型转换 1209.3 数据格式化 1219.4 数据校验 1219.5 小结 124第10章 Spring MVC文件上传和下载 12510.1 文件上传 12510.1.1 单文件上传 12610.1.2 多文件上传 12810.2 文件下载 13010.3 小结 132第11章 Spring MVC的国际化和拦截器 13311.1 Spring MVC国际化 13311.1.1 Spring MVC国际化概述 13311.1.2 基于浏览器请求的国际化实现 13511.1.3 基于HttpSession的国际化实现 13911.1.4 基于Cookie的国际化实现 14111.2 Spring MVC拦截器 14311.2.1 拦截器概述 14311.2.2 拦截器执行流程 14611.2.3 使用拦截器实现用户登录权限验证 14911.3 小结 153第12章 MyBatis入门 15412.1 MyBatis概述 15412.2 MyBatis的下载与安装 15512.3 MyBatis的工作原理 15512.4 MyBatis的增删改查 15712.4.1 查询用户 15712.4.2 添加用户 16212.4.3 修改用户 16312.4.4 删除用户 16412.5 使用resultMap属性映射查询结果 16512.6 使用Mapper接口执行SQL 16612.7 小结 167第13章 MyBatis的关联映射 16813.1 一对一关联映射 16813.2 一对多关联映射 17213.3 多对多关联映射 18013.4 小结 183第14章 动态SQL 18414.1 <if>元素 18414.2 <where>、<if>元素 18614.3 <set>、<if>元素 18714.4 <trim>元素 18914.5 <choose>、<when>和<otherwise>元素 19114.6 <foreach>元素 19314.7 小结 195第15章 MyBatis的注解配置 19615.1 基于注解的单表增删改查 19615.2 基于注解的一对一关联映射 19915.3 基于注解的一对多关联映射 20115.4 基于注解的多对多关联映射 20415.5 基于注解的动态SQL 20615.5.1 @SelectProvider注解 20615.5.2 @InsertProvider注解 20815.5.3 @UpdateProvider注解 20915.5.4 @DeleteProvider注解 21115.6 小结 212第16章 MyBatis缓存 21316.1 一级缓存 21316.2 二级缓存 21516.3 小结 216第17章 Spring整合MyBatis 21717.1 环境搭建 21717.2 编写SSM整合的相关配置文件 22217.3 创建实体类 22717.4 数据访问层开发 22717.5 业务逻辑层开发 22817.6 控制器开发 22817.7 表示层开发 22917.8 小结 230第18章 前端UI框架 23118.1 Easy UI框架 23118.1.1 Layout控件 23218.1.2 Tabs控件 23318.1.3 Tree控件 23418.1.4 DataGrid控件 23518.2 Bootstrap框架 23618.2.1 Bootstrap简介 23618.2.2 环境安装 23718.2.3 Bootstrap按钮 23718.2.4 Bootstrap表格 23918.2.5 Bootstrap网格系统 24018.2.6 Bootstrap下拉菜单 24218.2.7 Bootstrap面板 24318.2.8 Bootstrap模态框 24518.2.9 Bootstrap标签页 24718.3 Vue框架 24818.3.1 Vue简介 24818.3.2 第一个Vue应用 24918.3.3 生命周期 25018.3.4 模板语法 25118.3.5 计算属性 25618.3.6 条件渲染 25618.3.7 列表渲染 25718.3.8 方法和事件 25918.3.9 Vue组件 26018.3.10 Vue脚手架 26218.3.11 Vue路由 26418.3.12 Vuex状态管理 26618.4 小结 269第19章 电商平台后台管理系统 27019.1 需求与系统分析 27019.2 数据库设计 27119.3 环境搭建与配置文件 27419.4 创建实体类 27419.5 创建几个Dao接口及动态提供类 27819.6 创建Service接口及实现类 28719.7 后台登录与管理首页面 29319.8 商品管理 30119.8.1 商品列表显示 30119.8.2 查询商品 30619.8.3 添加商品 30819.8.4 商品下架 31119.8.5 修改商品 31319.9 订单管理 31419.9.1 创建订单 31419.9.2 查询订单 32419.9.3 删除订单 32819.9.4 查看订单明细 33019.10 客户管理 33319.10.1 客户列表显示 33319.10.2 查询客户 33619.10.3 启用和禁用客户 33719.11 小结 339第20章 校园通讯管理系统 34020.1 需求与系统分析 34020.2 数据库设计 34220.3 环境搭建与配置文件 34520.4 创建实体类 34620.5 后台登录 34920.6 平台管理员功能 35920.6.1 院校管理员管理 35920.6.2 院校管理 38220.7 院校管理员功能 39820.7.1 单位管理 39920.7.2 角色管理 41020.7.3 用户管理 42020.8 单位用户功能 43520.8.1 发送消息 43520.8.2 接收消息 45020.9 小结 457第21章 电商网站 45821.1 需求与系统分析 45821.2 数据库设计 45821.3 环境搭建与配置文件 45921.4 创建实体类 46121.5 创建几个Dao接口 46221.6 创建Service接口及实现类 46321.7 商品列表页 46521.8 商品详情页 47321.9 购物车页 47521.10 订单提交 48021.11 小结 482