图书介绍
精通Spring 4.x 企业应用开发实战PDF|Epub|txt|kindle电子书版本网盘下载
![精通Spring 4.x 企业应用开发实战](https://www.shukui.net/cover/22/31909472.jpg)
- 陈雄华,林开雄,文建国编著 著
- 出版社: 北京:电子工业出版社
- ISBN:7121304439
- 出版时间:2017
- 标注页数:800页
- 文件大小:130MB
- 文件页数:821页
- 主题词:
PDF下载
下载说明
精通Spring 4.x 企业应用开发实战PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1篇 基础篇2
第1章 Spring概述2
1.1 认识Spring2
1.2 关于SpringSource4
1.3 Spring带给我们什么5
1.4 Spring体系结构6
1.5 Spring对Java版本的要求8
1.6 Spring 4.0新特性8
1.6.1 全面支持Java 8.09
1.6.2 核心容器的增强11
1.6.3 支持用Groovy定义Bean12
1.6.4 Web的增强12
1.6.5 支持WebSocket12
1.6.6 测试的增强13
1.6.7 其他13
1.7 Spring子项目13
1.8 如何获取Spring15
1.9 小结16
第2章 快速入门17
2.1 实例概述17
2.1.1 比Hello World更适用的实例18
2.1.2 实例功能简介18
2.2 环境准备20
2.2.1 构建工具Maven20
2.2.2 创建库表22
2.2.3 建立工程23
2.2.4 类包及Spring配置文件规划28
2.3 持久层29
2.3.1 建立领域对象29
2.3.2 UserDao30
2.3.3 LoginLogDao33
2.3.4 在Spring中装配DAO34
2.4 业务层35
2.4.1 UserService35
2.4.2 在Spring中装配Service37
2.4.3 单元测试38
2.5 展现层40
2.5.1 配置Spring MVC框架40
2.5.2 处理登录请求42
2.5.3 JSP视图页面44
2.6 运行Web应用46
2.7 小结48
第3章 Spring Boot49
3.1 Spring Boot概览49
3.1.1 Spring Boot发展背景50
3.1.2 Spring Boot特点50
3.1.3 Spring Boot启动器50
3.2 快速入门52
3.3 安装配置54
3.3.1 基于Maven环境配置54
3.3.2 基于Gradle环境配置56
3.3.3 基于Spring Boot CLI环境配置57
3.3.4 代码包结构规划58
3.4 持久层59
3.4.1 初始化配置59
3.4.2 UserDao61
3.5 业务层62
3.6 展现层64
3.6.1 配置pom.xml依赖64
3.6.2 配置Spring MVC框架65
3.6.3 处理登录请求65
3.7 运维支持67
3.8 小结70
第2篇 核心篇72
第4章 IoC容器72
4.1 IoC概述72
4.1.1 通过实例理解IoC的概念73
4.1.2 IoC的类型75
4.1.3 通过容器完成依赖关系的注入77
4.2 相关Java基础知识78
4.2.1 简单实例78
4.2.2 类装载器ClassLoader80
4.2.3 Java反射机制83
4.3 资源访问利器85
4.3.1 资源抽象接口85
4.3.2 资源加载88
4.4 BeanFactory和ApplicationContext91
4.4.1 BeanFactory介绍92
4.4.2 ApplicationContext介绍94
4.4.3 父子容器103
4.5 Bean的生命周期103
4.5.1 BeanFactory中Bean的生命周期103
4.5.2 ApplicationContext中Bean的生命周期112
4.6 小结114
第5章 在IoC容器中装配Bean115
5.1 Spring配置概述116
5.1.1 Spring容器高层视图116
5.1.2 基于XML的配置117
5.2 Bean基本配置120
5.2.1 装配一个Bean120
5.2.2 Bean的命名120
5.3 依赖注入121
5.3.1 属性注入121
5.3.2 构造函数注入124
5.3.3 工厂方法注入128
5.3.4 选择注入方式的考量130
5.4 注入参数详解130
5.4.1 字面值130
5.4.2 引用其他Bean131
5.4.3 内部Bean133
5.4.4 null值133
5.4.5 级联属性134
5.4.6 集合类型属性134
5.4.7 简化配置方式138
5.4.8 自动装配141
5.5 方法注入142
5.5.1 lookup方法注入142
5.5.2 方法替换143
5.6 〈bean〉之间的关系144
5.6.1 继承144
5.6.2 依赖145
5.6.3 引用146
5.7 整合多个配置文件147
5.8 Bean作用域148
5.8.1 singleton作用域148
5.8.2 prototype作用域149
5.8.3 与Web应用环境相关的Bean作用域150
5.8.4 作用域依赖问题152
5.9 FactoryBean153
5.10 基于注解的配置155
5.10.1 使用注解定义Bean155
5.10.2 扫描注解定义的Bean156
5.10.3 自动装配 Bean157
5.10.4 Bean作用范围及生命过程方法162
5.11 基于Java类的配置164
5.11.1 使用Java类提供Bean定义信息164
5.11.2 使用基于Java类的配置信息启动Spring容器167
5.12 基于Groovy DSL的配置169
5.12.1 使用Groovy DSL提供Bean定义信息169
5.12.2 使用GenericGroovyApplication Context启动Spring容器171
5.13 通过编码方式动态添加Bean172
5.13.1 通过DefaultListableBean Factory172
5.13.2 扩展自定义标签173
5.14 不同配置方式比较175
5.15 小结177
第6章 Spring容器高级主题178
6.1 Spring容器技术内幕178
6.1.1 内部工作机制179
6.1.2 BeanDefiinition182
6.1.3 InstantiationStrategy183
6.1.4 BeanWrapper183
6.2 属性编辑器184
6.2.1 JavaBean的编辑器185
6.2.2 Spring默认属性编辑器188
6.2.3 自定义属性编辑器189
6.3 使用外部属性文件192
6.3.1 PropertyPlaceholderConfiigurer属性文件192
6.3.2 使用加密的属性文件195
6.3.3 属性文件自身的引用198
6.4 引用Bean的属性值199
6.5 国际化信息201
6.5.1 基础知识201
6.5.2 MessageSource206
6.5.3 容器级的国际化信息资源209
6.6 容器事件210
6.6.1 Spring事件类结构211
6.6.2 解构Spring事件体系的具体实现213
6.6.3 一个实例214
6.7 小结215
第7章 Spring AOP基础216
7.1 AOP概述216
7.1.1 AOP到底是什么217
7.1.2 AOP术语219
7.1.3 AOP的实现者221
7.2 基础知识222
7.2.1 带有横切逻辑的实例222
7.2.2 JDK动态代理224
7.2.3 CGLib动态代理228
7.2.4 AOP联盟229
7.2.5 代理知识小结230
7.3 创建增强类230
7.3.1 增强类型230
7.3.2 前置增强231
7.3.3 后置增强235
7.3.4 环绕增强236
7.3.5 异常抛出增强237
7.3.6 引介增强239
7.4 创建切面243
7.4.1 切点类型243
7.4.2 切面类型244
7.4.3 静态普通方法名匹配切面246
7.4.4 静态正则表达式方法匹配切面248
7.4.5 动态切面251
7.4.6 流程切面254
7.4.7 复合切点切面256
7.4.8 引介切面258
7.5 自动创建代理259
7.5.1 实现类介绍259
7.5.2 BeanNameAutoProxyCreator260
7.5.3 DefaultAdvisorAutoProxy Creator261
7.5.4 AOP无法增强疑难问题剖析262
7.6 小结267
第8章 基于@AspectJ和Schema的AOP269
8.1 Spring对AOP的支持269
8.2 Java 5.0注解知识快速进阶270
8.2.1 了解注解270
8.2.2 一个简单的注解类271
8.2.3 使用注解272
8.2.4 访问注解273
8.3 着手使用@AspectJ274
8.3.1 使用前的准备275
8.3.2 一个简单的例子275
8.3.3 如何通过配置使用@AspectJ切面277
8.4 @AspectJ语法基础278
8.4.1 切点表达式函数278
8.4.2 在函数入参中使用通配符279
8.4.3 逻辑运算符280
8.4.4 不同增强类型281
8.4.5 引介增强用法282
8.5 切点函数详解283
8.5.1 @annotation()284
8.5.2 execution()285
8.5.3 args()和@args()287
8.5.4 within()288
8.5.5 @within()和@target()289
8.5.6 target()和this()290
8.6 @AspectJ进阶291
8.6.1 切点复合运算292
8.6.2 命名切点292
8.6.3 增强织入的顺序294
8.6.4 访问连接点信息294
8.6.5 绑定连接点方法入参295
8.6.6 绑定代理对象297
8.6.7 绑定类注解对象298
8.6.8 绑定返回值299
8.6.9 绑定抛出的异常299
8.7 基于Schema配置切面300
8.7.1 一个简单切面的配置300
8.7.2 配置命名切点302
8.7.3 各种增强类型的配置303
8.7.4 绑定连接点信息305
8.7.5 Advisor配置306
8.8 混合切面类型307
8.8.1 混合使用各种切面类型308
8.8.2 各种切面类型总结308
8.9 其他309
8.9.1 JVM Class文件字节码转换基础知识309
8.9.2 使用LTW织入切面311
8.10 小结314
第9章 Spring SpEL316
9.1 JVM动态语言316
9.2 SpEL表达式概述318
9.3 SpEL核心接口319
9.3.1 EvaluationContext接口320
9.3.2 SpEL编译器321
9.4 SpEL基础表达式323
9.4.1 文本字符解析323
9.4.2 对象属性解析323
9.4.3 数组、集合类型解析324
9.4.4 方法解析326
9.4.5 操作符解析327
9.4.6 安全导航操作符329
9.4.7 三元操作符330
9.4.8 Elvis操作符331
9.4.9 赋值、类型、构造器、变量332
9.4.10 集合过滤335
9.4.11 集合转换335
9.5 在Spring中使用SpEL336
9.5.1 基于XML的配置336
9.5.2 基于注解的配置337
9.6 小结338
第3篇 数据篇340
第10章 Spring对DAO的支持340
10.1 Spring的DAO理念340
10.2 统一的异常体系341
10.2.1 Spring的DAO异常体系341
10.2.2 JDBC的异常转换器343
10.2.3 其他持久化技术的异常转换器344
10.3 统一数据访问模板344
10.3.1 使用模板和回调机制345
10.3.2 Spring为不同持久化技术所提供的模板类347
10.4 数据源348
10.4.1 配置一个数据源348
10.4.2 获取JNDI数据源352
10.4.3 Spring的数据源实现类353
10.5 小结353
第11章 Spring的事务管理355
11.1 数据库事务基础知识355
11.1.1 何为数据库事务356
11.1.2 数据并发的问题357
11.1.3 数据库锁机制359
11.1.4 事务隔离级别360
11.1.5 JDBC对事务的支持361
11.2 ThreadLocal基础知识362
11.2.1 ThreadLocal是什么363
11.2.2 ThreadLocal的接口方法363
11.2.3 一个TheadLocal实例364
11.2.4 与Thread同步机制的比较366
11.2.5 Spring使用ThreadLocal解决线程安全问题366
11.3 Spring对事务管理的支持368
11.3.1 事务管理关键抽象369
11.3.2 Spring的事务管理器实现类371
11.3.3 事务同步管理器374
11.3.4 事务传播行为375
11.4 编程式的事务管理376
11.5 使用XML配置声明式事务377
11.5.1 一个将被实施事务增强的服务接口379
11.5.2 使用原始的TransactionProxy FactoryBean379
11.5.3 基于aop/tx命名空间的配置382
11.6 使用注解配置声明式事务385
11.6.1 使用@Transactional注解385
11.6.2 通过AspectJ LTW引入事务切面389
11.7 集成特定的应用服务器390
11.7.1 BEA WebLogic390
11.7.2 WebSphere390
11.8 小结390
第12章 Spring的事务管理难点剖析392
12.1 DAO和事务管理的牵绊393
12.1.1 JDBC访问数据库393
12.1.2 Hibernate访问数据库395
12.2 应用分层的迷惑398
12.3 事务方法嵌套调用的迷茫401
12.3.1 Spring事务传播机制回顾401
12.3.2 相互嵌套的服务方法402
12.4 多线程的困惑405
12.4.1 Spring通过单实例化Bean简化多线程问题405
12.4.2 启动独立线程调用事务方法405
12.5 联合军种作战的混乱408
12.5.1 Spring事务管理器的应对408
12.5.2 Hibernate+Spring JDBC混合框架的事务管理408
12.6 特殊方法成漏网之鱼412
12.6.1 哪些方法不能实施Spring AOP事务412
12.6.2 事务增强遗漏实例413
12.7 数据连接泄露416
12.7.1 底层连接资源的访问问题416
12.7.2 Spring JDBC数据连接泄露417
12.7.3 事务环境下通过DataSource Utils获取数据连接420
12.7.4 无事务环境下通过DataSource Utils获取数据连接422
12.7.5 JdbcTemplate如何做到对连接泄露的免疫424
12.7.6 使用TransactlonAwareData SourceProxy425
12.7.7 其他数据访问技术的等价类426
12.8 小结426
第13章 使用Spring JDBC访问数据库428
13.1 使用Spring JDBC428
13.1.1 JdbcTemplate小试牛刀429
13.1.2 在DAO中使用Jdbc Template429
13.2 基本的数据操作431
13.2.1 更改数据431
13.2.2 返回数据库的表自增主键值434
13.2.3 批量更改数据436
13.2.4 查询数据437
13.2.5 查询单值数据440
13.2.6 调用存储过程442
13.3 BLOB/CLOB类型数据的操作444
13.3.1 如何获取本地数据连接445
13.3.2 相关的操作接口446
13.3.3 插入LOB类型的数据448
13.3.4 以块数据方式读取LOB数据450
13.3.5 以流数据方式读取LOB数据451
13.4 自增键和行集452
13.4.1 自增键的使用452
13.4.2 如何规划主键方案454
13.4.3 以行集返回数据456
13.5 NamedParameterJdbcTemplate模板类456
13.6 小结459
第14章 整合其他ORM框架460
14.1 Spring整合ORM技术460
14.2 在Spring中使用Hibernate462
14.2.1 配置SessionFactory462
14.2.2 使用HibernateTemplate465
14.2.3 处理LOB类型的数据469
14.2.4 添加Hibernate事件监听器470
14.2.5 使用原生的Hibernate API471
14.2.6 使用注解配置472
14.2.7 事务处理474
14.2.8 延迟加载问题475
14.3 在Spring中使用MyBatis476
14.3.1 配置SqlMapClient476
14.3.2 在Spring中配置MyBatis478
14.3.3 编写MyBatis的DAO479
14.4 DAO层设计482
14.4.1 DAO基类设计482
14.4.2 查询接口方法设计484
14.4.3 分页查询接口设计486
14.5 小结487
第4篇 应用篇490
第15章 Spring Cache490
15.1 缓存概述490
15.1.1 缓存的概念490
15.1.2 使用Spring Cache493
15.2 掌握Spring Cache抽象498
15.2.1 缓存注解498
15.2.2 缓存管理器504
15.2.3 使用SpEL表达式506
15.2.4 基于XML的Cache声明506
15.2.5 以编程方式初始化缓存507
15.2.6 自定义缓存注解509
15.3 配置Cache存储509
15.3.1 EhCache510
15.3.2 Guava510
15.3.3 HazelCast511
15.3.4 GemFire511
15.3.5 JSR-107 Cache511
15.4 实战经验513
15.5 小结514
第16章 任务调度和异步执行器516
16.1 任务调度概述516
16.2 Quartz快速进阶517
16.2.1 Quartz基础结构518
16.2.2 使用SimpleTrigger520
16.2.3 使用CronTrigger522
16.2.4 使用Calendar526
16.2.5 任务调度信息存储527
16.3 在Spring中使用Quartz530
16.3.1 创建JobDetail530
16.3.2 创建Trigger533
16.3.3 创建Scheduler534
16.4 在Spring中使用JDK Timer536
16.4.1 Timer和TimerTask536
16.4.2 Spring对Java Timer的支持539
16.5 Spring对Java 5.0 Executor的支持540
16.5.1 了解Java 5.0的Executor541
16.5.2 Spring对Executor所提供的抽象543
16.6 实际应用中的任务调度544
16.6.1 如何产生任务545
16.6.2 任务调度对应用程序集群的影响547
16.6.3 任务调度云547
16.6.4 Web应用程序中调度器的启动和关闭问题549
16.7 小结552
第17章 Spring MVC553
17.1 Spring MVC体系概述554
17.1.1 体系结构554
17.1.2 配置DispatcherServlet555
17.1.3 一个简单的实例560
17.2 注解驱动的控制器565
17.2.1 使用@RequestMapping映射请求565
17.2.2 请求处理方法签名569
17.2.3 使用矩阵变量绑定参数570
17.2.4 请求处理方法签名详细说明571
17.2.5 使用HttpMessageConverter〈T〉575
17.2.6 使用@RestController和AsyncRestTemplate584
17.2.7 处理模型数据586
17.3 处理方法的数据绑定591
17.3.1 数据绑定流程剖析592
17.3.2 数据转换592
17.3.3 数据格式化598
17.3.4 数据校验602
17.4 视图和视图解析器611
17.4.1 认识视图611
17.4.2 认识视图解析器612
17.4.3 JSP和JSTL613
17.4.4 模板视图618
17.4.5 Excel621
17.4.6 PDF623
17.4.7 输出XML625
17.4.8 输出JSON626
17.4.9 使用XmlViewResolver626
17.4.10 使用ResourceBundleView Resolver627
17.4.11 混合使用多种视图技术628
17.5 本地化解析630
17.5.1 本地化的概念630
17.5.2 使用CookieLocaleResolver631
17.5.3 使用SessionLocaleResolver632
17.5.4 使用LocaleChange Interceptor632
17.6 文件上传633
17.6.1 配置MultipartResolver633
17.6.2 编写控制器和文件上传表单页面633
17.7 WebSocket支持634
17.7.1 使用WebSocket634
17.7.2 WebSocket的限制638
17.8 杂项639
17.8.1 静态资源处理639
17.8.2 装配拦截器643
17.8.3 异常处理644
17.8.4 RequestContextHolder的使用646
17.9 小结646
第18章 实战案例开发648
18.1 论坛案例概述648
18.1.1 论坛整体功能结构648
18.1.2 论坛用例描述649
18.1.3 主要功能流程描述651
18.2 系统设计655
18.2.1 技术框架选择655
18.2.2 采用Maven构建项目656
18.2.3 单元测试类包结构规划657
18.2.4 系统架构图658
18.2.5 PO类设计658
18.2.6 持久层设计659
18.2.7 服务层设计660
18.2.8 Web层设计661
18.2.9 数据库设计662
18.3 开发前的准备663
18.4 持久层开发664
18.4.1 PO类664
18.4.2 DAO基类666
18.4.3 通过扩展基类定义DAO类670
18.4.4 DAO Bean的装配672
18.4.5 使用Hibernate二级缓存673
18.5 对持久层进行测试675
18.5.1 配置Unitils测试环境675
18.5.2 准备测试数据库及测试数据676
18.5.3 编写DAO测试基类677
18.5.4 编写BoardDao测试用例678
18.6 服务层开发680
18.6.1 UserService的开发680
18.6.2 ForumService的开发681
18.6.3 服务类Bean的装配683
18.7 对服务层进行测试684
18.7.1 编写Service测试基类685
18.7.2 编写ForumService测试用例685
18.8 Web层开发687
18.8.1 BaseController的基类687
18.8.2 用户登录和注销689
18.8.3 用户注册691
18.8.4 论坛管理692
18.8.5 论坛普通功能694
18.8.6 分页显示论坛版块的主题帖子696
18.8.7 web.xml配置700
18.8.8 Spring MVC配置702
18.9 对Web层进行测试703
18.9.1 编写Web测试基类703
18.9.2 编写ForumManageController测试用例704
18.10 开发环境部署705
18.11 项目配置实战经验708
18.11.1 “传统的”Web项目属性文件708
18.11.2 如何规划便于部署的Web项目属性文件709
18.11.3 数据源的配置710
18.12 小结712
第5篇 提高篇714
第19章 Spring OXM714
19.1 认识XML解析技术714
19.1.1 什么是XML714
19.1.2 XML的处理技术715
19.2 XML处理利器:XStream717
19.2.1 XStream概述717
19.2.2 快速入门718
19.2.3 使用XStream别名720
19.2.4 XStream转换器721
19.2.5 XStream注解723
19.2.6 流化对象725
19.2.7 持久化API726
19.2.8 额外功能:处理JSON727
19.3 其他常见的O/X Mapping开源项目729
19.3.1 JAXB729
19.3.2 Castor733
19.3.3 JiBX738
19.3.4 总结比较741
19.4 与Spring OXM整合742
19.4.1 Spring OXM概述742
19.4.2 整合OXM实现者744
19.4.3 如何在Spring中进行配置744
19.4.4 Spring OXM简单实例747
19.5 小结749
第20章 实战型单元测试750
20.1 单元测试概述751
20.1.1 为什么需要单元测试751
20.1.2 单元测试之误解752
20.1.3 单元测试之困境754
20.1.4 单元测试基本概念755
20.2 TestNG快速进阶757
20.2.1 TestNG概述757
20.2.2 TestNG生命周期758
20.2.3 使用TestNG758
20.3 模拟利器Mockito763
20.3.1 模拟测试概述763
20.3.2 创建Mock对象763
20.3.3 设定Mock对象的期望行为及返回值764
20.3.4 验证交互行为766
20.4 测试整合之王Unitils767
20.4.1 Unitils概述767
20.4.2 集成Spring770
20.4.3 集成Hibernate773
20.4.4 集成DbUnit774
20.4.5 自定义扩展模块775
20.5 使用Unitils测试DAO层776
20.5.1 数据库测试的难点776
20.5.2 扩展DbUnit用Excel准备数据776
20.5.3 测试实战779
20.6 使用Unitils测试Service层789
20.7 测试Web层794
20.7.1 对LoginController进行单元测试794
20.7.2 使用Spring Servlet API模拟对象795
20.7.3 使用Spring RestTemplate测试797
20.8 小结798