新書推薦:
《
冯友兰和青年谈心系列:不是问题的问题(哲学大师冯友兰和年轻人谈心,命运解读)
》
售價:HK$
55.8
《
月与蟹(青鲤文库)荣获第144届直木奖,天才推理作家经典作品全新译本。一部青春狂想曲,带你登上心理悬疑之巅。
》
售價:HK$
50.4
《
索恩丛书·盛清统治下的太监与皇帝
》
售價:HK$
88.5
《
透过器物看历史(全6册)
》
售價:HK$
490.6
《
我在台北故宫博物院读名画
》
售價:HK$
109.8
《
尼罗河往事:古埃及文明4000年
》
售價:HK$
76.2
《
一个人·谁也不是·十万人(诺贝尔文学奖得主反思自我的巅峰之作)
》
售價:HK$
54.9
《
重写晚明史(全5册 精装)
》
售價:HK$
781.8
|
編輯推薦: |
本书详细地讲解了Java EE中 Spring、Spring MVC和 MyBatis三大框架(SSM)的基础知识和实际应用。
本书配套资源丰富,包括教学大纲、教学课件、电子教案、程序源码、实验大纲、思政案例、在线题库和习题答案,作者还为本书精心录制了1000分钟的微课视频。本书案例丰富,包括112个知识点案例和3个综合案例。
|
內容簡介: |
本书详细地讲解了 Java EE中 Spring、Spring MVC和 MyBatis三大框架(SSM)的基础知识和实际应用。为了更好地帮助读者学习 SSM框架,本书以大量案例介绍了 SSM框架的基本思想、方法和技术。
全书共 17章,第 1~5章主要讲解 Spring框架的相关知识,内容包括 Spring入门、Spring IoC、Spring Bean、 Spring AOP以及 Spring的事务管理;第 6~13章主要讲解 Spring MVC的相关知识,内容包括 Spring MVC入门、Controller、数据绑定和表单标签库、拦截器、数据验证、国际化、异常统一处理以及文件的上传和下载;第 14章主要讲解 MyBatis的相关知识,内容包括 MyBatis开发入门、映射器、动态 SQL以及 SSM框架整合的思想与流程;第 15~17章主要讲解 SSM框架整合的实践应用,内容包括 Spring Test单元测试、EL与 JSTL标签以及基于 SSM框架的电子商务平台的设计与实现。书中案例侧重实用性,趣味性强,分布合理,通俗易懂,使读者能够快速地掌握 SSM框架的基础知识、编程技巧以及完整的开发体系,为大型项目的开发打下坚实的基础。
本书可作为大学计算机及相关专业的教材或教学参考书,也可作为 Java技术的培训教材,适合广大 Java EE应用开发人员阅读与使用。
|
目錄:
|
源码下载
学习目的与要求1 本章主要内容 1
1.1 Spring简介·1
1.1.1 Spring的由来 ·1
1.1.2 Spring的体系结构 ·1
1.2 Spring开发环境的构建
3
1.2.1 使用 Eclipse开发 Java Web应用 4
1.2.2 Spring的下载 ·6
1.3 使用 Eclipse开发 Spring入门程序
·7
1.4 本章小结 8 习题 1 ·8
学习目的与要求· 10 本章主要内容 · 10
2.1 Spring IoC的基本概念 · 10
2.2 Spring IoC容器
11
2.2.1 BeanFactory 11
2.2.2 ApplicationContext· 11
2.2.3 GenericApplicationContext· 13
2.3 依赖注入的类型· 14
2.3.1 使用构造方法注入
14
2.3.2 使用属性的 Setter方法注入
16
2.4 本章小结 · 17 习题 2 17
学习目的与要求· 18 本章主要内容 · 18
3.1 Bean的配置· 18
3.2 Bean的实例化 19
3.2.1 构造方法实例化
19
3.2.2 静态工厂方法实例化
20 3.2.3 实例工厂方法实例化 21
3.3 Bean的作用域
· 22
3.3.1 singleton作用域· 22
3.3.2 prototype作用域 23
3.4 Bean的生命周期
24
3.5 Bean的装配方式 26
3.5.1 基于 XML配置的装配
· 26
3.5.2 基于注解的装配
29
3.6 本章小结 · 33 习题 3 33
学习目的与要求· 35 本章主要内容 · 35
4.1 Spring AOP的基本概念 · 35
4.1.1 AOP的概念· 35
4.1.2 AOP的术语· 36
4.2 动态代理 · 37
4.2.1 JDK动态代理
37
4.2.2 CGLIB动态代理
40
4.3 基于代理类的 AOP实现
42
4.4 基于 XML配置开发 AspectJ
45
4.5 基于注解开发 AspectJ
· 49
4.6 本章小结 · 52 习题 4 52
学习目的与要求· 53 本章主要内容 · 53
5.1 Spring的数据库编程 · 53
5.1.1 Spring JDBC的配置· 53
5.1.2 Spring jdbcTemplate的使用方法
54
5.2 编程式事务管理· 58
5.2.1 基于底层 API的编程式事务管理
58
5.2.2 基于 TransactionTemplate的编程式事务管理
60
5.3 声明式事务管理· 62
5.3.1 基于 XML方式的声明式事务管理
63
5.3.2 基于@Transactional注解的声明式事务管理
66
5.3.3 如何在声明式事务管理中捕获异常
· 69
5.4 本章小结 · 71 习题 5 71
学习目的与要求· 72 本章主要内容 · 72
6.1 MVC模式与 Spring MVC的工作原理
72
6.1.1 MVC模式 72
6.1.2 Spring MVC的工作原理 · 73
6.1.3 Spring MVC接口 74
6.2 第一个 Spring MVC应用
· 74
6.2.1 创建Web应用并引入JAR包 · 74
6.2.2 在 web.xml文件中部署 DispatcherServlet · 75
6.2.3 创建 Web应用首页· 76
6.2.4 创建 Controller类 76
6.2.5 创建 Spring MVC配置文件并配置 Controller映射信息· 76
6.2.6 应用的其他页面 77
6.2.7 发布并运行 Spring MVC应用 77
6.3 视图解析器 · 78
6.4 本章小结 · 78 习题 6 78
学习目的与要求· 80 本章主要内容 · 80
7.1 基于注解的控制器
· 80
7.1.1 Controller注解类型 · 80
7.1.2 RequestMapping注解类型 · 81
7.1.3 编写请求处理方法 82
7.2 Controller接收请求参数的常见方式
· 83
7.2.1 通过实体 Bean接收请求参数 · 83
7.2.2 通过处理方法的形参接收请求参数 89
7.2.3 通过 HttpServletRequest接收请求参数· 90
7.2.4 通过@PathVariable接收 URL中的请求参数 · 90
7.2.5 通过@RequestParam接收请求参数 91
7.2.6 通过@ModelAttribute接收请求参数 91
7.3 重定向与转发
· 92
7.4 应用@Autowired进行依赖注入· 93
7.5 @ModelAttribute注解 94
7.6 本章小结 · 96 习题 7 96
学习目的与要求· 98 本章主要内容 · 98
8.1 数据绑定 · 98
8.2 表单标签库 · 98
8.3 数据绑定的应用
·101
8.4 JSON数据交互
108
8.4.1 JSON概述·108
8.4.2 JSON数据转换 109
8.5 本章小结 ·112 习题 8 112
学习目的与要求·114 本章主要内容 ·114
9.1 拦截器概述
·114
9.1.1 拦截器的定义114
9.1.2 拦截器的配置115
9.2 拦截器的执行流程·116
9.2.1 单个拦截器的执行流程
·116 9.2.2 多个拦截器的执行流程 ·118
9.3 应用案例——用户登录权限验证
120
9.4 本章小结 ·124习题 9 124
学习目的与要求·125 本章主要内容 ·125
10.1 数据验证概述·125
10.1.1 客户端验证·125
10.1.2 服务器端验证·125
10.2 Spring验证器
·126
10.2.1 Validator接口 126
10.2.2 ValidationUtils类126
10.2.3 Validator验证示例 127
10.3 Jakarta Bean Validation(JSR 380)
·132
10.3.1 Jakarta Bean Validation验证配置132
10.3.2 标注类型·133
10.3.3 Jakarta Bean Validation验证示例134
10.4 本章小结·137 习题 10137
学习目的与要求·138 本章主要内容 ·138 11.1 程序国际化概述
138
11.1.1 Java国际化的思想 ·138
11.1.2 Java支持的语言和国家 ·139
11.1.3 Java程序国际化 ·139
11.1.4 带占位符的国际化信息 140
11.2 Spring MVC的国际化
141
11.2.1 Spring MVC加载资源属性文件 ·141
11.2.2 语言区域的选择 142
11.2.3 使用 message标签显示国际化信息 142
11.3 用户自定义切换语言示例
143
11.4 本章小结·147 习题 11147
学习目的与要求·148 本章主要内容 ·148 12.1 示例介绍·148 12.2 SimpleMappingExceptionResolver类·153 12.3 HandlerExceptionResolver接口 154 12.4 @ExceptionHandler注解·155 12.5 @ControllerAdvice注解·156 12.6 本章小结·157 习题 12157
学习目的与要求·158 本章主要内容 ·158
13.1 文件的上传
·158 13.2 文件的下载
·163 13.3 本章小结·166 习题 13166
学习目的与要求·167
本章主要内容 ·167
14.1 MyBatis简介 167
14.2 MyBatis的环境构建168
14.3 MyBatis的工作原理168
14.4 MyBatis的核心配置169
14.5 使用 Eclipse开发 MyBatis入门程序
·170
14.6 SSM框架的整合开发 174
14.6.1 相关 JAR包174
14.6.2 MapperScannerConfigurer方式 ·175
14.6.3整合示例
·176
14.6.4SqlSessionDaoSupport方式
·180
14.7 使用 MyBatis Generator插件自动生成映射文件
·185
14.8 映射器概述·187
14.9 元素187
14.9.1 使用 Map接口传递参数
·188
14.9.2 使用 Java Bean传递参数
·190
14.9.3 使用@Param注解传递参数
·191
14.9.4 元素 ·192
14.9.5 使用 POJO存储结果集
192
14.9.6使用 Map存储结果集
·194
14.10 、、和元素 195
14.10.1 元素
195
14.10.2 与元素 197
14.10.3 元素 ·197
14.11 级联查询 197
14.11.1 一对一级联查询
197
14.11.2 一对多级联查询
201
14.11.3 多对多级联查询
204
14.12 动态 SQL207
14.12.1 元素
·207
14.12.2 、和元素
208
14.12.3 元素
·208
14.12.4 元素
·209
14.12.5 元素
·210
14.12.6 元素
211
14.12.7 元素
212
14.13 MyBatis的缓存机制 ·213
14.13.1 一级缓存(SqlSession级别的缓存)
·213
14.13.2 二级缓存(Mapper级别的缓存)
215
14.14 本章小结 217 习题 14217
学习目的与要求·218 本章主要内容 ·218
15.1 JUnit 5
218
15.1.1 JUnit 5简介·218
15.1.2 JUnit 5注解·219
15.1.3 JUnit 5断言·220
15.2 单元测试用例·221
15.2.1 测试环境的构建
·221
15.2.2测试 Mapper接口
·225
15.2.3测试 Service层
·227
15.3 使用 Postman测试 Controller层
·228
15.4 本章小结·231 习题 15231
学习目的与要求·232 本章主要内容 ·232
16.1 EL
·232
16.1.1 基本语法·232
16.1.2 EL隐含对象 ·234
16.2 JSTL
·236
16.2.1 配置 JSTL237
16.2.2 核心标签库之通用标签 237
16.2.3 核心标签库之流程控制标签238
16.2.4 核心标签库之迭代标签 240
16.2.5 函数标签库·242
16.3 本章小结·244 习题 16244
学习目的与要求·245 本章主要内容 ·245
17.1 系统设计·245
17.1.1 系统的功能需求 245
17.1.2 系统的模块划分 245
17.2 数据库设计·246
17.2.1 数据库的概念结构设计 246
17.2.2 数据库的逻辑结构设计 247
17.2.3 创建数据表·249
17.3 系统管理
·249
17.3.1 添加相关依赖·249
17.3.2 视图页面及静态资源管理249
17.3.3 应用的包结构·250
17.3.4 配置文件·251
17.4 组件设计
·254
17.4.1 管理员登录权限验证拦截器254
17.4.2 前台用户登录权限验证拦截器 ·255
17.4.3 验证码·255
17.4.4 工具类·255
17.5 后台管理子系统的实现255
17.5.1管理员登录
·256
17.5.2类型管理
·257 17.5.3新增商品
·260
17.5.4查询商品
·262
17.5.5修改商品
·265
17.5.6删除商品
·267
17.5.7查询订单
·268
17.5.8按月统计
·269
17.5.9按类型统计
·271
17.5.10 安全退出·273
17.6 前台电子商务子系统的实现274
17.6.1 导航栏及首页搜索
274
17.6.2最新商品
·275 17.6.3用户注册
·276 17.6.4用户登录
·277 17.6.5商品详情
·278
17.6.6收藏商品
·279
17.6.7购物车
·280
17.6.8下单
·282
17.6.9个人信息
·284
17.6.10我的收藏
·285 17.6.11我的订单
·286
17.7 本章小结·287 习题 17287
A.1 基于 SSM的邮件管理系统
·288
A.2 基于 SSM的人事管理系统
·288
|
內容試閱:
|
本书适合具有 Java编程基础和一定的 Java Web相关知识的读者学习。
本书使用 Spring Framework 6.0 MyBatis 3.5.11详细讲解了 SSM三大框架的基础知识和使用方法。本书的重点不是简单地介绍三大框架的基础知识,而是精心设计了大量实例。读者通过学习本书可以快速地掌握 SSM框架的实践应用,提高 Java EE应用的开发能力。
本书是第 2版,使用 Spring Framework 6.0 Tomcat 10编写实例。与第 1版相比,本书删除了类型转换、格式化等内容,增加了 Spring Test单元测试内容,合并了 MyBatis的相关章节,调整了部分章节的顺序。全书共 17章,各章的具体内容如下:
第 1章主要讲解 Spring框架的一些基础知识,包括 Spring框架的体系结构、核心容器、开发环境及入门程序等内容。
第 2章主要介绍 Spring IoC的基本概念、 Spring IoC容器及依赖注入的类型等内容。
第 3章对 Spring中的 Bean进行详细介绍,主要包括 Spring Bean的配置、实例化、作用域、生命周期及装配方式等内容。
第 4章主要介绍 AOP的相关知识,包括 AOP的概念和术语、动态代理、 AOP的实现以及 AspectJ的开发等内容。
第 5章主要介绍 Spring框架所支持的事务管理,包括编程式事务管理和声明式事务管理。
第 6章主要讲解 Spring MVC的设计思想以及 Spring MVC的工作原理。
第 7章详细讲解基于注解的控制器,包括 @Controller注解类型和 @RequestMapping注解类型的使用,这是 Spring MVC框架的重点内容之一。
第 8章讲解数据绑定、表单标签库及 JSON数据交互,这也是 Spring MVC框架的重点内容之一。
第 9章主要介绍拦截器的概念、原理以及实际应用。
第 10章详细讲解 Spring MVC框架的输入验证体系,包括 Spring验证和 Jakarta Bean Validation(JSR 380)验证等主要内容。
第 11章介绍 Spring MVC国际化的实现方法,包括 JSP页面信息国际化及错误消息国际化等主要内容。
第 12章详细讲解如何使用 Spring MVC 框架进行异常的统一处理,包括使用 SimpleMappingExceptionResolver类、HandlerExceptionResolver接口、@ExceptionHandler注解及@ControllerAdvice注解进行异常的统一处理。
第 13章讲解如何使用 Spring MVC框架进行文件的上传和下载。
第 14章详细讲解 MyBatis框架的相关内容,包括环境构建、工作原理、配置文件、映射文件、级联查询、动态 SQL语句、缓存机制及 SSM框架整合开发流程,该内容是本书的重点内容之一。
第 15章主要介绍 Spring Test单元测试的相关内容,包括 JUnit 5的注解、断言以及单元
测试用例。第 16章介绍 EL与 JSTL的基本用法。第 17章以电子商务平台的设计与实现为综合案例,讲述如何使用 SSM(Spring Spring
MVC MyBatis)框架整合开发一个 Web应用。为便于教学,本书提供丰富的配套资源,包括教学大纲、教学课件、电子教案、程序源码、在线题库、习题答案、教学进度表、实验大纲、实验指导书和微课视频。
资源下载提示 课件等资源:扫描封底的“课件下载”二维码,在公众号“书圈”下载。素材(源码)等资源:扫描目录上方的二维码下载。在线自测题:扫描封底的作业系统二维码,再扫描自测题二维码在线做题。微课视频:扫描封底的文泉云盘防盗码,再扫描书中相应章节的视频讲解二维码,可以
在线学习。
本书是辽宁省一流本科课程“工程项目实训”、辽宁省普通高等学校一流本科教育示范专业“大连外国语大学计算机科学与技术专业”的建设成果。
本书的出版得到清华大学出版社相关人员的大力支持,在此表示衷心感谢。同时,编者参阅了相关书籍、博客以及其他官网资源,在此对这些资源的贡献者与分享者深表感谢。由于框架技术发展迅速,并且持续改进与优化,加上编者水平有限,书中难免存在不足之处,敬请各位专家和读者批评指正。
编 者
2024年 3月
扫一扫
|
|