图书介绍
Java EE互联网轻量级框架整合开发 SSM框架 Spring MVC+Spring+MyBatis 和Redis实现PDF|Epub|txt|kindle电子书版本网盘下载
![Java EE互联网轻量级框架整合开发 SSM框架 Spring MVC+Spring+MyBatis 和Redis实现](https://www.shukui.net/cover/55/30409806.jpg)
- 杨开振,周吉文,梁华辉,谭茂华著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121318474
- 出版时间:2017
- 标注页数:670页
- 文件大小:122MB
- 文件页数:692页
- 主题词:JAVA语言-程序设计;数据库-基本知识
PDF下载
下载说明
Java EE互联网轻量级框架整合开发 SSM框架 Spring MVC+Spring+MyBatis 和Redis实现PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1部分 入门和技术基础2
第1章 认识SSM框架和Redis2
1.1 Spring框架2
1.1.1 Spring IoC简介2
1.1.2 Spring AOP4
1.2 MyBatis简介6
1.2.1 Hibernate简介7
1.2.2 MyBatis8
1.2.3 Hibernate和MyBatis的区别11
1.3 Spring MVC简介11
1.4 最流行的NoSQL——Redis12
1.5 SSM+Redis结构框图及概述13
第2章 Java设计模式15
2.1 Java反射技术15
2.1.1 通过反射构建对象15
2.1.2 反射方法17
2.1.3 实例18
2.2 动态代理模式和责任链模式19
2.2.1 JDK动态代理20
2.2.2 CGLIB动态代理22
2.2.3 拦截器24
2.2.4 责任链模式28
2.3 观察者(Observer)模式30
2.3.1 概述31
2.3.2 实例32
2.4 工厂模式和抽象工厂模式35
2.4.1 普通工厂(Simple Factory)模式35
2.4.2 抽象工厂(Abstract Factory)模式36
2.5 建造者(Builder)模式38
2.5.1 概述38
2.5.2 Builder模式实例39
2.6 总结41
第2部分 互联网持久框架——MyBatis44
第3章 认识MyBatis核心组件44
3.1 持久层的概念和MyBatis的特点44
3.2 准备MyBatis环境45
3.3 MyBatis的核心组件46
3.4 SqlSessionFactory(工厂接口)47
3.4.1 使用XML构建SqlSessionFactory48
3.4.2 使用代码创建SqlSessionFactory50
3.5 SqlSession50
3.6 映射器51
3.6.1 用XML实现映射器52
3.6.2 注解实现映射器53
3.6.3 SqlSession发送SQL54
3.6.4 用Mapper接口发送SQL55
3.6.5 对比两种发送SQL方式55
3.7 生命周期55
3.7.1 SqlSessionFactoryBuilder56
3.7.2 SqlSessionFactory56
3.7.3 SqlSession56
3.7.4 Mapper56
3.8 实例57
第4章 MyBatis配置63
4.1 概述63
4.2 properties属性64
4.2.1 property子元素64
4.2.2 使用properties文件65
4.2.3 使用程序传递方式传递参数66
4.2.4 总结66
4.3 settings设置66
4.4 typeAliases别名69
4.4.1 系统定义别名69
4.4.2 自定义别名72
4.5 typeHandler类型转换器72
4.5.1 系统定义的typeHandler73
4.5.2 自定义typeHandler78
4.5.3 枚举typeHandler81
4.5.4 文件操作86
4.6 ObjectFactory(对象工厂)87
4.7 插件89
4.8 environments(运行环境)89
4.8.1 transactionManager(事务管理器)90
4.8.2 environment数据源环境92
4.9 databaseIdProvider数据库厂商标识95
4.9.1 使用系统默认的databaseIdProvider95
4.9.2 不使用系统规则98
4.10 引入映射器的方法99
第5章 映射器102
5.1 概述102
5.2 select元素——查询语句103
5.2.1 简单的select元素的应用104
5.2.2 自动映射和驼峰映射105
5.2.3 传递多个参数106
5.2.4 使用resultMap映射结果集109
5.2.5 分页参数RowBounds110
5.3 insert元素——插入语句112
5.3.1 概述112
5.3.2 简单的insert语句的应用113
5.3.3 主键回填113
5.3.4 自定义主键114
5.4 update元素和delete元素114
5.5 sql元素115
5.6 参数116
5.6.1 概述116
5.6.2 存储过程参数支持117
5.6.3 特殊字符串的替换和处理(#和$)117
5.7 resultMap元素118
5.7.1 resultMap元素的构成118
5.7.2 使用map存储结果集119
5.7.3 使用POJO存储结果集119
5.8 级联120
5.8.1 MyBatis中的级联121
5.8.2 建立POJO124
5.8.3 配置映射文件127
5.8.4 N+1问题133
5.8.5 延迟加载133
5.8.6 另一种级联137
5.8.7 多对多级联140
5.9 缓存143
5.9.1 一级缓存和二级缓存144
5.9.2 缓存配置项、自定义和引用147
5.10 存储过程149
5.10.1 IN和OUT参数存储过程150
5.10.2 游标的使用152
第6章 动态SQL155
6.1 概述155
6.2 if元素156
6.3 choose、when、otherwise元素156
6.4 trim、where、set元素157
6.5 foreach元素159
6.6 用test的属性判断字符串159
6.7 bind元素160
第7章 MyBatis的解析和运行原理162
7.1 构建SqlSessionFactory过程163
7.1.1 构建Configuration165
7.1.2 构建映射器的内部组成165
7.1.3 构建SqlSessionFactory167
7.2 SqlSession运行过程168
7.2.1 映射器(Mapper)的动态代理168
7.2.2 SqlSession下的四大对象172
7.2.3 SqlSession运行总结179
第8章 插件181
8.1 插件接口181
8.2 插件的初始化182
8.3 插件的代理和反射设计183
8.4 常用的工具类——MetaObject186
8.5 插件开发过程和实例187
8.5.1 确定需要拦截的签名187
8.5.2 实现拦截方法189
8.5.3 配置和运行191
8.5.4 插件实例——分页插件192
8.6 总结205
第3部分 Spring基础208
第9章 Spring IoC的概念208
9.1 Spring的概述208
9.2 Spring IoC概述210
9.2.1 主动创建对象211
9.2.2 被动创建对象213
9.2.3 Spring IoC阐述214
9.3 Spring IoC容器215
9.3.1 Spring IoC容器的设计215
9.3.2 Spring IoC容器的初始化和依赖注入218
9.3.3 Spring Bean的生命周期218
9.4 小结223
第10章 装配Spring Bean224
10.1 依赖注入的3种方式224
10.1.1 构造器注入224
10.1.2 使用setter注入225
10.1.3 接口注入226
10.2 装配Bean概述227
10.3 通过XML配置装配Bean228
10.3.1 装配简易值228
10.3.2 装配集合229
10.3.3 命名空间装配233
10.4 通过注解装配Bean235
10.4.1 使用@Component装配Bean236
10.4.2 自动装配——@Autowired239
10.4.3 自动装配的歧义性(@Primary和@Qualifier)241
10.4.4 装载带有参数的构造方法类244
10.4.5 使用@Bean装配Bean245
10.4.6 注解自定义Bean的初始化和销毁方法245
10.5 装配的混合使用246
10.6 使用Profile249
10.6.1 使用注解@Profile配置249
10.6.2 使用XML定义Profile250
10.6.3 启动Profile252
10.7 加载属性(properties)文件254
10.7.1 使用注解方式加载属性文件254
10.7.2 使用XML方式加载属性文件257
10.8 条件化装配Bean258
10.9 Bean的作用域259
10.10 使用Spring表达式(Spring EL)261
10.10.1 Spring EL相关的类261
10.10.2 Bean的属性和方法264
10.10.3 使用类的静态常量和方法265
10.10.4 Spring EL运算265
第11章 面向切面编程267
11.1 一个简单的约定游戏267
11.1.1 约定规则267
11.1.2 读者的代码269
11.1.3 笔者的代码271
11.2 Spring AOP的基本概念274
11.2.1 AOP的概念和使用原因274
11.2.2 面向切面编程的术语278
11.2.3 Spring对AOP的支持280
11.3 使用@AspectJ注解开发Spring AOP280
11.3.1 选择连接点281
11.3.2 创建切面281
11.3.3 定义切点283
11.3.4 测试AOP285
11.3.5 环绕通知287
11.3.6 织入289
11.3.7 给通知传递参数289
11.3.8 引入290
11.4 使用XML配置开发Spring AOP293
11.4.1 前置通知、后置通知、返回通知和异常通知294
11.4.2 环绕通知296
11.4.3 给通知传递参数297
11.4.4 引入298
11.5 经典Spring AOP应用程序299
11.6 多个切面301
11.7 小结306
第12章 Spring和数据库编程307
12.1 传统的JDBC代码的弊端307
12.2 配置数据库资源309
12.2.1 使用简单数据库配置309
12.2.2 使用第三方数据库连接池310
12.2.3 使用JNDI数据库连接池310
12.3 JDBC代码失控的解决方案——jdbcTemplate311
12.3.1 jdbcTemplate的增、删、查、改312
12.3.2 执行多条SQL314
12.3.3 jdbcTemplate的源码分析315
12.4 MyBatis-Spring项目317
12.4.1 配置SqlSessionFactoryBean318
12.4.2 SqlSessionTemplate组件322
12.4.3 配置MapperFactoryBean324
12.4.4 配置MapperScannerConfigurer324
12.4.5 测试Spring+MyBatis327
第13章 深入Spring数据库事务管理330
13.1 Spring数据库事务管理器的设计331
13.1.1 配置事务管理器333
13.1.2 用Java配置方式实现Spring数据库事务334
13.2 编程式事务336
13.3 声明式事务337
13.3.1 Transactional的配置项337
13.3.2 使用XML进行配置事务管理器339
13.3.3 事务定义器340
13.3.4 声明式事务的约定流程341
13.4 数据库的相关知识343
13.4.1 数据库事务ACID特性343
13.4.2 丢失更新343
13.4.3 隔离级别344
13.5 选择隔离级别和传播行为347
13.5.1 选择隔离级别347
13.5.2 传播行为348
13.6 在Spring+MyBatis组合中使用事务350
13.7 @Transactional的自调用失效问题358
13.8 典型错误用法的剖析363
13.8.1 错误使用Service363
13.8.2 过长时间占用事务364
13.8.3 错误捕捉异常366
第4部分 Spring MVC框架370
第14章 Spring MVC的初始化和流程370
14.1 MVC设计概述370
14.1.1 Spring MVC的架构372
14.1.2 Spring MVC组件与流程372
14.1.3 Spring MVC入门的实例374
14.2 Spring MVC初始化378
14.2.1 初始化Spring IoC上下文378
14.2.2 初始化映射请求上下文379
14.2.3 使用注解配置方式初始化386
14.3 Spring MVC开发流程详解389
14.3.1 配置@RequestMapping390
14.3.2 控制器的开发391
14.3.3 视图渲染396
14.4 小结398
第15章 深入Spring MVC组件开发399
15.1 控制器接收各类请求参数399
15.1.1 接收普通请求参数401
15.1.2 使用@RequestParam注解获取参数402
15.1.3 使用URL传递参数403
15.1.4 传递JSON参数404
15.1.5 接收列表数据和表单序列化406
15.2 重定向409
15.3 保存并获取属性参数412
15.3.1 注解@RequestAttribute412
15.3.2 注解@SessionAttribute和注解@SessionAttributes414
15.3.3 注解@CookieValue和注解@RequestHeader417
15.4 拦截器417
15.4.1 拦截器的定义418
15.4.2 拦截器的执行流程419
15.4.3 开发拦截器419
15.4.4 多个拦截器执行的顺序421
15.5 验证表单424
15.5.1 使用JSR 303注解验证输入内容425
15.5.2 使用验证器429
15.6 数据模型432
15.7 视图和视图解析器434
15.7.1 视图434
15.7.2 视图解析器436
15.7.3 实例:Excel视图的使用438
15.8 上传文件441
15.8.1 MultipartResolver概述442
15.8.2 提交上传文件表单446
第16章 Spring MVC高级应用449
16.1 Spring MVC的数据转换和格式化449
16.1.1 HttpMessageConverter和JSON消息转换器451
16.1.2 一对一转换器(Converter)455
16.1.3 数组和集合转换器GenericConverter458
16.1.4 使用格式化器(Formatter)463
16.2 为控制器添加通知466
16.3 处理异常470
16.4 国际化471
16.4.1 概述471
16.4.2 MessageSource接口473
16.4.3 CookieLocaleResolver和SessionLocaleResolver475
16.4.4 国际化拦截器(LocaleChangeInterceptor)477
16.4.5 开发国际化477
第5部分 Redis应用480
第17章 Redis概述480
17.1 Redis在Java Web中的应用481
17.1.1 缓存481
17.1.2 高速读/写场合482
17.2 Redis基本安装和使用483
17.2.1 在Windows下安装Redis483
17.2.2 在Linux下安装Redis485
17.3 Redis的Java API486
17.3.1 在Java程序中使用Redis487
17.3.2 在Spring中使用Redis488
17.4 简介Redis的6种数据类型494
17.5 Redis和数据库的异同495
第18章 Redis数据结构常用命令496
18.1 Redis数据结构——字符串497
18.2 Redis数据结构——哈希502
18.3 Redis数据结构——链表(linked-list)506
18.4 Redis数据结构——集合513
18.5 Redis数据结构——有序集合516
18.5.1 Redis基础命令516
18.5.2 spring-data-redis对有序集合的封装518
18.5.3 使用Spring操作有序集合520
18.6 基数——HyperLogLog522
18.7 小结524
第19章 Redis的一些常用技术525
19.1 Redis的基础事务526
19.2 探索Redis事务回滚528
19.3 使用watch命令监控事务529
19.4 流水线(pipelined)532
19.5 发布订阅534
19.6 超时命令538
19.7 使用Lua语言540
19.7.1 执行输入Lua程序代码541
19.7.2 执行Lua文件544
19.8 小结547
第20章 Redis配置548
20.1 Redis基础配置文件548
20.2 Redis备份(持久化)549
20.3 Redis内存回收策略552
20.4 复制553
20.4.1 主从同步基础概念553
20.4.2 Redis主从同步配置554
20.4.3 Redis主从同步的过程555
20.5 哨兵(Sentinel)模式556
20.5.1 哨兵模式概述557
20.5.2 搭建哨兵模式558
20.5.3 在Java中使用哨兵模式559
20.5.4 哨兵模式的其他配置项563
第21章 Spring缓存机制和Redis的结合565
21.1 Redis和数据库的结合565
21.1.1 Redis和数据库读操作566
21.1.2 Redis和数据库写操作567
21.2 使用Spring缓存机制整合Redis568
21.2.1 准备测试环境568
21.2.2 Spring的缓存管理器573
21.2.3 缓存注解简介575
21.2.4 注解@Cacheable和@CachePut576
21.2.5 注解@CacheEvict580
21.2.6 不适用缓存的方法581
21.2.7 自调用失效问题582
21.3 RedisTemplate的实例582
第6部分 SSM框架+Redis实践应用586
第22章 高并发业务586
22.1 互联系统应用架构基础分析586
22.2 高并发系统的分析和设计588
22.2.1 有效请求和无效请求588
22.2.2 系统设计590
22.2.3 数据库设计591
22.2.4 动静分离技术593
22.2.5 锁和高并发594
22.3 搭建抢红包开发环境和超发现象595
22.3.1 搭建Service层和DAO层595
22.3.2 使用全注解搭建SSM开发环境602
22.3.3 开发控制器和超发现象测试609
22.4 悲观锁611
22.5 乐观锁614
22.5.1 CAS原理概述614
22.5.2 ABA问题615
22.5.3 乐观锁实现抢红包业务616
22.5.4 乐观锁重入机制618
22.6 使用Redis实现抢红包621
22.6.1 使用注解方式配置Redis621
22.6.2 数据存储设计622
22.6.3 使用Redis实现抢红包627
22.7 各类方式的优缺点631
附录A 数据库表模型633
附录B DispatcherServlet流程源码分析637
附录C JSTL常用标签648
附录D spring data redis项目分析660