轻量级Java Web企业应用实战——Spring MVC+Spring+MyBatis整合开发
- ISBN:9787121385001
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 开本:26cm
- 页数:12,711页
- 出版时间:2020-04-01
- 条形码:9787121385001 ; 978-7-121-38500-1
本书特色
本书介绍了Java EE开发非常流行的三个开源框架:Spring MVC、Spring和MyBatis,其中Spring MVC、Spring用的是5.1版本,MyBatis用的是3.5版本。本书重点介绍了如何整合Spring MVC Spring MyBatis进行开发,内容主要包括三部分。*部分介绍Java EE开发的基础知识,以及如何搭建开发环境。第二部分详细讲解MyBatis、Spring和Spring MVC三个框架的用法,并从Eclipse IDE的使用上手,一步步带领读者深入三个框架的核心。这部分是本书的核心内容,因此也是重点部分。这部分并不是简单地讲授三个框架的基本用法,而是真正剖析它们在实际开发场景中面临的挑战及*实践,并对其诸多关键技术实现提供了源代码解读,这样既能加深读者对框架本质的理解,也能直接提升读者的Java功底。第三部分示范开发了一个包含7个表,表之间具有复杂的关联映射、继承映射等关系,且业务也相对复杂的工作流案例,帮助读者理论联系实际,将三个框架真正运用到实际开发中。该案例采用目前非常流行、规范的Java EE架构,整个应用分为领域对象层、Mapper(DAO)。层、业务逻辑层、MVC层和视图层,各层之间分层清晰,层与层之间以松耦合的方式组织在一起。该案例既提供了与IDE无关的、基于Ant管理的项目源代码,也提供了基于Eclipse IDE的项目源代码,*限度地满足读者的需求。本书配有读者答疑交流群,读者可通过扫描本书封面勒口上的二维码,按照指引加入,本书作者将通过交流群提供线上不定期答疑服务。
内容简介
本书重点介绍了如何整合Spring MVC+Spring+MyBatis进行开发, 内容主要包括三部分。**部分介绍Java EE开发的基础知识, 以及如何搭建开发环境。第二部分详细讲解MyBatis、Spring和Spring MVC三个框架的用法, 并从Eclipse IDE的使用上手, 一步步带领读者深入三个框架的核心。第三部分示范开发了一个包含7个表, 表之间具有复杂的关联映射、继承映射等关系, 且业务也相对复杂的工作流案例, 帮助读者理论联系实际, 将三个框架真正运用到实际开发中。
目录
1.1 Java EE应用概述 2
1.1.1 Java EE应用的分层模型 2
1.1.2 Java EE应用的组件 3
1.1.3 Java EE应用的结构和优势 4
1.1.4 常用的Java EE服务器 4
1.2 轻量级Java EE应用相关技术 5
1.2.1 JSP、Servlet 4.x和JavaBean及替代技术 5
1.2.2 Spring MVC及替代技术 6
1.2.3 MyBatis及替代技术 6
1.2.4 Spring及替代技术 7
1.3 Tomcat的下载和安装 8
1.3.1 安装Tomcat服务器 8
1.3.2 配置Tomcat的服务端口 9
1.3.3 进入控制台 10
1.3.4 部署Web应用 12
1.3.5 配置Tomcat的数据源 13
1.4 Eclipse的安装和使用 15
1.4.1 Eclipse的下载和安装 15
1.4.2 在线安装Eclipse插件 15
1.4.3 从本地压缩包安装插件 17
1.4.4 手动安装Eclipse插件 18
1.4.5 使用Eclipse开发Java Web应用 18
1.4.6 导入Eclipse项目 21
1.4.7 导入非Eclipse项目 22
1.5 Ant的安装和使用 23
1.5.1 Ant的下载和安装 24
1.5.2 使用Ant工具 25
1.5.3 定义生成文件 26
1.5.4 Ant的任务(task) 30
1.6 Maven的安装和使用 32
1.6.1 下载和安装Maven 33
1.6.2 设置Maven 34
1.6.3 创建、构建简单的项目 35
1.6.4 Maven的核心概念 39
1.6.5 依赖管理 44
1.6.6 POM文件的元素 46
1.7 使用Git进行软件配置管理(SCM) 47
1.7.1 下载和安装Git、TortoiseGit 47
1.7.2 创建本地资源库 49
1.7.3 添加文件和文件夹 51
1.7.4 提交修改 52
1.7.5 查看文件或文件夹的版本变更 53
1.7.6 删除文件或文件夹 54
1.7.7 从以前版本重新开始 55
1.7.8 克隆项目 56
1.7.9 创建分支 56
1.7.10 沿着分支开发 57
1.7.11 合并分支 58
1.7.12 使用Eclipse作为Git客户端 59
1.7.13 配置远程中央资源库 61
1.7.14 推送项目 64
1.7.15 获取项目和拉取项目 64
1.8 本章小结 66
第2章 MyBatis的基础用法 67
2.1 MyBatis是ORM框架吗 68
2.1.1 何谓ORM 68
2.1.2 ORM的映射方式 69
2.1.3 MyBatis的映射方式 70
2.2 MyBatis入门 71
2.2.1 MyBatis的下载和安装 72
2.2.2 MyBatis的数据库操作 72
2.2.3 使用MyBatis执行CRUD 78
2.2.4 利用Mapper对象 80
2.2.5 在Eclipse中使用MyBatis 84
2.3 MyBatis核心API及作用域 90
2.3.1 SqlSessionFactoryBuilder的作用域 90
2.3.2 SqlSessionFactory的作用域 91
2.3.3 SqlSession及其作用域 92
2.3.4 Mapper组件的作用域 94
2.4 MyBatis配置详解 94
2.4.1 属性配置 95
2.4.2 设置配置 98
2.4.3 为类型配置别名 101
2.4.4 对象工厂 103
2.4.5 加载Mapper 105
2.5 类型处理器 106
2.5.1 内置的类型处理器 106
2.5.2 自定义类型处理器 107
2.5.3 枚举的类型处理器 111
2.5.4 存储枚举值的序号 112
2.5.5 同时存储枚举值的名称和序号 113
2.6 数据库环境配置 116
2.6.1 环境配置与默认环境配置 116
2.6.2 事务管理器 117
2.6.3 数据源配置 121
2.6.4 配置第三方C3P0数据源 122
2.7 支持不同类型的数据库 124
2.8 Mapper基础 127
2.8.1 select的用法 128
2.8.2 insert的用法 130
2.8.3 使用useGeneratedKeys返回 自增长的主键值 131
2.8.4 使用selectKey生成主键值 132
2.8.5 update和delete元素的用法 134
2.8.6 使用sql元素定义可复用的SQL片段 134
2.8.7 参数处理 136
2.8.8 参数的额外声明 142
2.8.9 字符串替换 142
2.9 MyBatis代码生成器 144
2.9.1 提供配置文件 145
2.9.2 运行MBG 146
2.10 本章小结 149
第3章 深入使用MyBatis 151
3.1 结果集映射 152
3.1.1 简单resultMap映射 152
3.1.2 构造器映射 154
3.1.3 自动映射 157
3.2 调用存储过程 159
3.2.1 调用返回结果集的存储过程 159
3.2.2 调用带out模式参数的存储过程 160
3.2.3 调用传出参数为游标引用的存储过程 162
3.3 关联映射 165
3.3.1 基于嵌套select的一对一映射 165
3.3.2 基于嵌套select映射策略的性能缺陷 171
3.3.3 延迟加载的原理 175
3.3.4 基于多表连接查询的一对一映射 176
3.3.5 基于多结果集的一对一映射 182
3.3.6 基于嵌套select的一对多映射 184
3.3.7 基于多表连接查询的一对多映射 191
3.3.8 基于多结果集的一对多映射 192
3.3.9 多对多映射的三种策略 194
3.4 基于辨别者列的继承映射 201
3.4.1 继承映射的简单示例 201
3.4.2 继承映射的复杂示例 205
3.5 动态SQL 210
3.5.1 if元素的用法 210
3.5.2 在update更新列中使用if 216
3.5.3 在insert动态插入列中使用if 219
3.5.4 choose、when、otherwise元素的 用法 222
3.5.5 where与trim的用法 225
3.5.6 set与trim的用法 228
3.5.7 使用trim实现动态插入 230
3.5.8 foreach元素的基本用法 232
3.5.9 foreach实现批量插入 234
3.5.10 foreach实现批量更新 236
3.5.11 bind元素的用法 239
3.6 缓存 240
3.6.1 一级缓存 240
3.6.2 一级缓存的脏数据与避免方法 243
3.6.3 二级缓存 246
3.6.4 二级缓存的脏数据与避免方法 248
3.6.5 整合Ehcache实现二级缓存 252
3.7 用插件扩展MyBatis 254
3.7.1 拦截器接口及作用原理 254
3.7.2 可拦截的目标 256
3.7.3 为MyBatis开发分页插件 260
3.8 本章小结 266
第4章 Spring的基础用法 267
4.1 Spring简介和Spring 5的变化 268
4.1.1 Spring简介 268
4.1.2 Spring 5.x的变化 269
4.2 Spring入门 269
4.2.1 Spring的下载和安装 270
4.2.2 使用Spring管理Bean 270
4.2.3 在Eclipse中使用Spring 274
4.3 Spring的核心机制:依赖注入 276
4.3.1 理解依赖注入 277
4.3.2 设值注入 278
4.3.3 构造注入 282
4.3.4 两种注入方式的对比 284
4.4 使用Spring容器 284
4.4.1 Spring容器 284
4.4.2 使用ApplicationContext 286
4.4.3 ApplicationContext的国际化支持 287
4.4.4 ApplicationContext的事件机制 289
4.4.5 让Bean获取Spring容器 292
4.5 Spring容器中的Bean 294
4.5.1 Bean的基本定义和Bean别名 294
4.5.2 容器中Bean的作用域 295
4.5.3 配置依赖 299
4.5.4 设置普通属性值 300
4.5.5 配置合作者Bean 302
4.5.6 使用自动装配注入合作者Bean 302
4.5.7 注入嵌套Bean 305
4.5.8 注入集合值 306
4.5.9 组合属性 311
4.5.10 Spring的Bean和JavaBean 312
4.6 Spring的Java配置管理 313
4.7 创建Bean的三种方式 316
4.7.1 使用构造器创建Bean 316
4.7.2 使用静态工厂方法创建Bean 317
4.7.3 使用实例工厂方法创建Bean 319
4.8 深入理解容器中的Bean 321
4.8.1 抽象Bean与子Bean 322
4.8.2 Bean继承与Java继承的区别 323
4.8.3 容器中的工厂Bean 323
4.8.4 获得Bean本身的id 326
4.8.5 强制初始化Bean 327
4.9 容器中Bean的生命周期 327
4.9.1 依赖关系注入之后的行为 328
4.9.2 Bean销毁之前的行为 330
4.9.3 协调作用域不同步的Bean 332
4.10 高级依赖关系配置 336
4.10.1 获取其他Bean的属性值 336
4.10.2 获取Field值 339
4.10.3 获取方法的返回值 341
4.11 基于XML Schema的简化配置方式 344
4.11.1 使用p:命名空间简化配置 344
4.11.2 使用c:命名空间简化配置 345
4.11.3 使用util:命名空间简化配置 347
4.12 Spring表达式语言 349
4.12.1 使用Expression接口进行表达式求值 350
4.12.2 Bean定义中的表达式语言支持 352
4.12.3 SpEL语法详述 353
4.13 本章小结 358
第5章 深入使用Spring 359
5.1 两种后处理器 360
5.1.1 Bean后处理器 360
5.1.2 Bean后处理器的用处 364
5.1.3 容器后处理器 364
5.1.4 属性占位符配置器 366
5.1.5 重写占位符配置器 367
5.2 “零配置”支持 368
5.2.1 搜索Bean类 368
5.2.2 指定Bean的作用域 371
5.2.3 使用@Resource、@Value配置依赖 372
5.2.4 使用@PostConstruct和@PreDestroy定制生命周期行为 373
5.2.5 @DependsOn和@Lazy 374
5.2.6 自动装配和精确装配 374
5.2.7 Spring 5新增的注解 379
5.3 资源访问 380
5.3.1 Resource实现类 381
5.3.2 ResourceLoader接口和 ResourceLoaderAware接口 385
5.3.3 使用Resource作为属性 388
5.3.4 在ApplicationContext中使用资源 389
5.4 Spring的AOP 392
5.4.1 为什么需要AOP 393
5.4.2 使用AspectJ实现AOP 394
5.4.3 AOP的基本概念 401
5.4.4 Spring的AOP支持 402
5.4.5 基于注解的“零配置”方式 403
5.4.6 基于XML配置文件的管理方式 418
5.5 Spring的缓存机制 424
5.5.1 启用Spring缓存 425
5.5.2 使用@Cacheable执行缓存 427
5.5.3 使用@CacheEvict清除缓存数据 431
5.6 Spring的事务 433
5.6.1 Spring支持的事务策略 433
5.6.2 使用XML Schema配置事务策略 436
5.6.3 使用@Transactional 442
5.7 Spring整合MyBatis 443
5.7.1 整合MyBatis的关
作者简介
李刚,十余年软件开发从业经验,疯狂软件教育中心教学总监。疯狂Java实训营创始人,疯狂Java体系原创图书作者。广东技术师范学院计算机科学系兼职副教授,CSDN特邀讲师。培训的学生已在腾讯、阿里、华为、IBM、网易、唯品会、电信盈科等名企就职。国内知名高端IT技术图书作家,已出版《疯狂Java讲义》《疯狂Android讲义》《轻量级Java EE企业应用实战》《疯狂前端开发讲义》《疯狂HTML5/CSS3/JavaScript讲义》等著作。其中疯狂Java体系图书均已沉淀多年,赢得极高的市场认同,多次重印,多部著作印刷数量超过10万册,并被多所“985”“211”院校选作教材,部分图书已被翻译成繁体中文版,授权到中国台湾地区。
-
全图解零基础word excel ppt 应用教程
¥15.6¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
情感计算
¥66.8¥89.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥48.3¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
LINUX实战——从入门到精通
¥48.3¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥38.7¥79.0