Spring 3.x企业应用开发实战PDF电子书下载
- 电子书积分:20 积分如何计算积分?
- 作 者:陈雄华,林开雄著
- 出 版 社:北京:电子工业出版社
- 出版年份:2012
- ISBN:9787121152139
- 页数:710 页
第1篇 概述 2
第1章 Spring概述 2
1.1认识Spring 3
1.2关于SpringSource 4
1.3 Spring带给我们什么 5
1.4 Spring体系结构 6
1.5 Spring 3.0的新功能 8
1.5.1核心API更新到Java 5.0 8
1.5.2 Spring表达式语言 8
1.5.3可通过Java类提供IoC配置信息 9
1.5.4通用类型转换系统和属性格式化系统 10
1.5.5数据访问层新增OXM功能 10
1.5.6 Web层的增强 10
1.5.7其他 11
1.6 Spring对Java版本的要求 11
1.7如何获取Spring 11
1.8小结 12
第2章 快速入门 13
2.1实例功能概述 14
2.1.1比Hello World更适用的实例 14
2.1.2实例功能简介 14
2.2环境准备 16
2.2.1创建库表 16
2.2.2建立工程 17
2.2.3类包及Spring配置文件规划 19
2.3持久层 20
2.3.1建立领域对象 20
2.3.2 UserDao 21
2.3.3 LoginLogDao 24
2.3.4在Spring中装配DAO 24
2.4业务层 26
2.4.1 UserService 26
2.4.2在Spring中装配Service 27
2.4.3单元测试 29
2.5展现层 31
2.5.1配置Spring MVC框架 31
2.5.2处理登录请求 33
2.5.3 JSP视图页面 35
2.6运行Web应用 37
2.7小结 38
第2篇 IoC和AOP 40
第3章 IoC容器概述 40
3.1 IoC概述 41
3.1.1通过实例理解IoC的概念 41
3.1.2 IoC的类型 43
3.1.3通过容器完成依赖关系的注入 45
3.2相关Java基础知识 46
3.2.1简单实例 46
3.2.2类装载器ClassLoader 48
3.2.3 Java反射机制 51
3.3资源访问利器 53
3.3.1资源抽象接口 53
3.3.2资源加载 56
3.4 BeanFactory和ApplicationContext 58
3.4.1 BeanFactory介绍 58
3.4.2 ApplicationContext介绍 61
3.4.3父子容器 68
3.5 Bean的生命周期 68
3.5.1 BeanFactory中Bean的生命周期 68
3.5.2 ApplicationContext中Bean的生命周期 77
3.6小结 79
第4章 在IoC容器中装配Bean 80
4.1 Spring配置概述 81
4.1.1 Spring容器高层视图 81
4.1.2基于XML的配置 82
4.2 Bean基本配置 84
4.2.1装配一个Bean 84
4.2.2 Bean的命名 85
4.3依赖注入 86
4.3.1属性注入 86
4.3.2构造函数注入 89
4.3.3工厂方法注入 93
4.3.4选择注入方式的考量 94
4.4注入参数详解 95
4.4.1字面值 95
4.4.2引用其他Bean 96
4.4.3.内部Bean 98
4.4.4 null值 98
4.4.5级联属性 98
4.4.6集合类型属性 99
4.4.7简化配置方式 103
4.4.8自动装配 106
4.5方法注入 107
4.5.1 lookup方法注入 107
4.5.2方法替换 108
4.6 〈bean〉之间的关系 109
4.6.1继承 109
4.6.2依赖 110
4.6.3引用 111
4.7整合多个配置文件 112
4.8 Bean作用域 113
4.8.1 singleton作用域 113
4.8.2 prototype作用域 114
4.8.3 Web应用环境相关的Bean作用域 115
4.8.4作用域依赖问题 117
4.9 FactoryBean 118
4.10基于注解的配置 120
4.10.1使用注解定义Bean 120
4.10.2使用注解配置信息启动Spring容器 120
4.10.3自动装配Bean 122
4.10.4 Bean作用范围及生命过程方法 125
4.11基于Java类的配置 127
4.11.1使用Java类提供Bean定义信息 127
4.11.2使用基于Java类的配置信息启动Spring容器 130
4.12不同配置方式比较 132
4.13小结 134
第5章 Spring容器高级主题 135
5.1 Spring容器技术内幕 136
5.1.1内部工作机制 136
5.1.2 BeanDefiinition 139
5.1.3 InstantiationStrategy 140
5.1.4 BeanWrapper 140
5.2属性编辑器 141
5.2.1 JavaBean的编辑器 142
5.2.2 Spring默认属性编辑器 145
5.2.3自定义属性编辑器 146
5.3使用外部属性文件 149
5.3.1使用外部属性文件 149
5.3.2使用加密的属性文件 151
5.3.3属性文件自身的引用 155
5.4引用Bean的属性值 156
5.5国际化信息 158
5.5.1基础知识 158
5.5.2 MessageSource 163
5.5.3容器级的国际化信息资源 166
5.6容器事件 167
5.6.1 Spring事件类结构 168
5.6.2解构Spring事件体系的具体实现 169
5.6.3一个实例 170
5.7小结 172
第6章 Spring AOP基础 173
6.1 AOP概述 174
6.1.1 AOP到底是什么 174
6.1.2 AOP术语 176
6.1.3 AOP的实现者 178
6.2基础知识 178
6.2.1带有横切逻辑的实例 178
6.2.2 JDK动态代理 181
6.2.3 CGLib动态代理 184
6.2.4 AOP联盟 186
6.2.5代理知识小结 186
6.3创建增强类 187
6.3.1增强类型 187
6.3.2前置增强 188
6.3.3后置增强 192
6.3.4环绕增强 193
6.3.5异常抛出增强 194
6.3.6引介增强 196
6.4创建切面 199
6.4.1切点类型 200
6.4.2切面类型 201
6.4.3静态普通方法名匹配切面 203
6.4.4静态正则表达式方法匹配切面 205
6.4.5动态切面 208
6.4.6流程切面 211
6.4.7复合切点切面 213
6.4.8引介切面 215
6.5自动创建代理 216
6.5.1实现类介绍 217
6.5.2 BeanNameAutoProxyCreator 217
6.5.3 DefaultAdvisorAutoProxyCreator 219
6.6小结 220
第7章 基于@AspectJ和Schema的AOP 221
7.1 Spring对AOP的支持 222
7.2 JDK 5.0注解知识快速进阶 222
7.2.1了解注解 222
7.2.2一个简单的注解类 223
7.2.3使用注解 224
7.2.4访问注解 225
7.3着手使用@AspectJ 226
7.3.1使用前的准备 226
7.3.2一个简单的例子 227
7.3.3如何通过配置使用@AspectJ切面 229
7.4@AspectJ语法基础 230
7.4.1切点表达式函数 230
7.4.2在函数入参中使用通配符 231
7.4.3逻辑运算符 232
7.4.4不同增强类型 232
7.4.5引介增强用法 233
7.5切点函数详解 235
7.5.1@annotation() 235
7.5.2 execution() 237
7.5.3 args()和@args() 238
7.5.4 within() 240
7.5.5@within()和@target() 240
7.5.6 target()的this() 241
7.6@AspectJ进阶 243
7.6.1切点复合运算 243
7.6.2命名切点 244
7.6.3增强织入的顺序 245
7.6.4访问连接点信息 246
7.6.5绑定连接点方法入参 247
7.6.6绑定代理对象 249
7.6.7绑定类注解对象 249
7.6.8绑定返回值 250
7.6.9绑定抛出的异常 251
7.7基于Schema配置切面 252
7.7.1一个简单切面的配置 252
7.7.2配置命名切点 253
7.7.3各种增强类型的配置 255
7.7.4绑定连接点信息 257
7.7.5 Advisor配置 258
7.8混合切面类型 259
7.8.1混合使用各种切面类型 260
7.8.2各种切面类型总结 261
7.9 JVM Class文件字节码转换基础知识 261
7.9.1 java.lang.instrument包的工作原理 262
7.9.2如何向JVM中注册转换器 263
7.9.3使用JVM启动参数注册转换器的问题 265
7.10使用LTW织入切面 265
7.10.1 Spring的LoadTimeWeaver 266
7.10.2使用LTW织入一个切面 268
7.10.3在Tomcat下的配置 270
7.10.4在其他Web应用服务器下的配置 271
7.11小结 271
第3篇 数据访问 274
第8章 Spring对DAO的支持 274
8.1 Spring的DAO理念 275
8.2统一的异常体系 275
8.2.1 Spring的DAO异常体系 276
8.2.2 JDBC的异常转换器 278
8.2.3其他持久技术的异常转换器 278
8.3统一数据访问模板 279
8.3.1使用模板和回调机制 279
8.3.2 Spring为不同持久化技术所提供的模板类 281
8.4数据源 282
8.4.1配置一个数据源 282
8.4.2获取JNDI数据源 287
8.4.3 Spring的数据源实现类 287
8.5小结 288
第9章 Spring的事务管理 289
9.1数据库事务基础知识 290
9.1.1何为数据库事务 290
9.1.2数据并发的问题 291
9.1.3数据库锁机制 293
9.1.4事务隔离级别 294
9.1.5 JDBC对事务支持 294
9.2 ThreadLocal基础知识 296
9.2.1 ThreadLocal是什么 296
9.2.2 ThreadLocal的接口方法 297
9.2.3一个TheadLocal实例 298
9.2.4与Thread同步机制的比较 299
9.2.5 Spring使用ThreadLocal解决线程安全问题 300
9.3 Spring对事务管理的支持 301
9.3.1事务管理关键抽象 302
9.3.2 Spring的事务管理器实现类 305
9.3.3事务同步管理器 307
9.3.4事务传播行为 309
9.4编程式的事务管理 309
9.5使用XML配置声明式事务 310
9.5.1一个将被实施事务增强的服务接口 312
9.5.2使用原始的TransactionProxyFactoryBean 313
9.5.3基于tx/aop命名空间的配置 315
9.6使用注解配置声明式事务 318
9.6.1使用@Transactional注解 318
9.6.2通过AspectJ LTW引入事务切面 322
9.7集成特定的应用服务器 323
9.7.1 BEA WebLogic 324
9.7.2 BEA WebLogic 324
9.8小结 324
第10章 Spring的事务管理难点剖析 325
10.1 DAO和事务管理的牵绊 326
10.1.1 JDBC访问数据库 326
10.1.2 Hibernate访问数据库 328
10.2应用分层的迷惑 330
10.3事务方法嵌套调用的迷茫 334
10.3.1 Spring事务传播机制回顾 334
10.3.2相互嵌套的服务方法 335
10.4多线程的困惑 338
10.4.1 Spring通过单实例化Bean简化多线程问题 338
10.4.2启动独立线程调用事务方法 338
10.5联合军种作战的混乱 340
10.5.1 Spring事务管理器的应对 340
10.5.2 Hibernate+Spring JDBC混合框架的事务管理 341
10.6 特殊方法成漏网之鱼 345
10.6.1哪些方法不能实施Spring AOP事务 345
10.6.2事务增强遗漏实例 345
10.7数据连接泄漏 349
10.7.1底层连接资源的访问问题 349
10.7.2 Spring JDBC数据连接泄漏 350
10.7.3通过DataSourceUtils获取数据连接 353
10.7.4通过DataSourceUtils获取数据连接 355
10.7.5 JdbcTemplate如何做到对连接泄漏的免疫 357
10.7.6使用TransactionAwareData SourceProxy 357
10.7.7其他数据访问技术的等价类 358
10.8小结 359
第11章 使用Spring JDBC访问数据库 361
11.1使用Spring JDBC 362
11.1.1 JDBCTemplate小试牛刀 362
11.1.2在DAO中使用JDBCTemplate 363
11.2基本的数据操作 364
11.2.1更改数据 364
11.2.2返回数据库的表自增主键值 367
11.2.3批量更改数据 369
11.2.4查询数据 370
11.2.5查询单值数据 373
11.2.6调用存储过程 375
11.3 BLOB/CLOB类型数据的操作 377
11.3.1如何获取本地数据连接 377
11.3.2相关的操作接口 379
11.3.3插入Lob类型的数据 380
11.3.4以块数据方式读取Lob数据 383
11.3.5以流数据方式读取Lob数据 383
11.4自增键和行集 384
11.4.1自增键的使用 384
11.4.2如何规划主键方案 386
11.4.3以行集返回数据 388
11.5其他类型的JDBCTemplate 389
11.5.1 NamedParameterJDBCTemplate 389
11.5.2 SimpleJDBCTemplate 391
11.6以OO方式访问数据库 391
11.6.1使用MappingSqlQuery查询数据 391
11.6.2使用SqlUpdate更新数据 393
11.6.3使用StoredProcedure执行存储过程 394
11.6.4 SqlFunction类 396
11.7小结 396
第12章 整合其他ORM框架 398
12.1 Spring整合ORM技术 399
12.2在Spring中使用Hibernate 400
12.2.1配置SessionFactory 400
12.2.2使用HibernateTemplate 403
12.2.3处理LOB类型数据 407
12.2.4添加Hibernate事件监听器 409
12.2.5使用原生Hibernate API 409
12.2.6使用注解配置 410
12.2.7事务处理 412
12.2.8延迟加载的问题 413
12.3在Spring中使用myBatis 414
12.3.1配置SqlMapClient 415
12.3.2在Spring配置myBatis 416
12.3.3编写myBatis的DAO 417
12.5 DAO层设计 420
12.5.1 DAO基类的设计 421
12.5.2查询接口方法的设计 423
12.5.3分页查询接口设计 424
12.6小结 425
第4篇 业务层及Web层技术 428
第13章 任务调度和异步执行器 428
13.1任务调度概述 429
13.2 Quartz快速进阶 429
13.2.1 Quartz基础结构 430
13.2.2使用SimpleTrigger 432
13.2.3使用CronTrigger 434
13.2.4使用Calendar 437
13.2.5任务调度信息存储 439
13.3在Spring中使用Quartz 442
13.3.1创建JobDetail 442
13.3.2创建Trigger 444
13.3.3创建Scheduler 446
13.4 Spring中使用JDK Timer 447
13.4.1 Timer和TimerTask 448
13.4.2 Spring对JDK Timer的支持 450
13.5 Spring对JDK 5.0 Executor的支持 451
13.5.1了解JDK 5.0的Executor 452
13.5.2 Spring对Executor所提供的抽象 454
13.6实际应用中的任务调度 455
13.6.1如何产生任务 456
13.6.2任务调度对应用程序集群的影响 457
13.6.3任务调度云 458
13.6.4 Web应用程序中调度器的启动和关闭问题 460
13.7小结 462
第14章 使用OXM进行对象XML映射 463
14.1认识XML解析技术 464
14.1.1什么是XML 464
14.1.2 XML的处理技术 464
14.2 XML处理利器:XStream 466
14.2.1 XStream概述 466
14.2.2快速入门 466
14.2.3使用XStream别名 469
14.2.4 XStream转换器 470
14.2.5 XStream注解 472
14.2.6流化对象 474
14.2.7持久化API 475
14.2.8额外功能:处理JSON 476
14.3其他常见O/X Mapping开源项目 478
14.3.1 JAXB 478
14.3.2 XMLBeans 482
14.3.3 Castor 485
14.3.4 JiBX 490
14.3.5总结比较 493
14.4与Spring OXM整合 494
14.4.1 Spring OXM概述 494
14.4.2整合OXM实现者 496
14.4.3如何在Spring中进行配置 497
14.4.4 Spring OXM简单实例 499
14.5小结 501
第15章 Spring MVC 503
15.1 Spring MVC概述 504
15.1.1体系结构 504
15.1.2配置DispatcherServlet 505
15.1.3一个简单的实例 510
15.2注解驱动的控制器 514
15.2.1使用@RequestMapping映射请求 514
15.2.2请求处理方法签名概述 518
15.2.3处理方法签名详细说明 519
15.2.4使用HttpMessageConverter〈T〉 523
15.2.5处理模型数据 532
15.3处理方法的数据绑定 538
15.3.1数据绑定流程剖析 539
15.3.2数据转换 539
15.3.3数据格式化 545
15.3.4数据校验 549
15.4视图和视图解析器 558
15.4.1认识视图 558
15.4.2认识视图解析器 560
15.4.3 JSP和JSTL 561
15.4.4模板视图 565
15.4.5 Excel 569
15.4.6 PDF 570
15.4.7输出XML 572
15.4.8输出JSON 573
15.4.9使用XmlViewResolver 573
15.4.10使用ResourceBundle ViewResolver 574
15.4.11 混合使用多种视图技术 575
15.5本地化解析 577
15.5.1本地化概述 577
15.5.2使用CookieLocaleResolver 578
15.5.3使用SessionLocaleResolver 579
15.5.4使用LocaleChangeInterceptor 579
15.6文件上传 579
15.6.1配置MultipartResolver 580
15.6.2编写控制器和文件上传表单页面 580
15.7杂项 581
15.7.1静态资源处理 581
15.7.2装配拦截器 586
15.7.3异常处理 587
15.8小结 589
第5篇 测试及实战 592
第16章 实战型单元测试 592
16.1单元测试概述 593
16.1.1为什么需要单元测试 593
16.1.2单元测试之误解 594
16.1.3单元测试之困境 595
16.1.4单元测试基本概念 596
16.2 JUnit 4快速进阶 600
16.2.1 JUnit 4概述 600
16.2.2 JUnit 4生命周期 601
16.2.3使用JUnit 4 601
16.3模拟利器Mockito 608
16.3.1模拟测试概述 608
16.3.2创建Mock对象 608
16.3.3设定Mock对象的期望行为及返回值 609
16.3.4验证交互行为 611
16.4测试整合之王Unitils 612
16.4.1 Unitils概述 612
16.4.2集成Spring 615
16.4.3集成Hibernate 618
16.4.4集成Dbunit 619
16.4.5自定义扩展模块 620
16.5使用Unitils测试DAO层 620
16.5.1数据库测试的难点 621
16.5.2扩展Dbunit用Excel准备数据 621
16.5.3测试实战 624
16.6使用unitils测试Service层 634
16.7测试Web层 639
16.7.1对LoginController进行单元测试 640
16.7.2使用Spring Servlet API模拟对象 641
16.7.3使用Spring RestTemplate测试 642
16.7.4使用Selenium测试 644
16.8小结 647
第17章 实战案例开发 648
17.1论坛案例概述 649
17.1.1论坛整体功能结构 649
17.1.2论坛用例描述 649
17.1.3主要功能流程描述 651
17.2系统设计 655
17.2.1技术框架选择 655
17.2.2 Web目录结构及类包结构规划 656
17.2.3单元测试类包结构规划 657
17.2.4系统的结构图 657
17.2.5 PO的类设计 658
17.2.6持久层设计 659
17.2.7服务层设计 659
17.2.8 Web层设计 660
17.2.9数据库设计 661
17.3开发前的准备 663
17.4持久层开发 664
17.4.1 PO类 664
17.4.2 DAO基类 666
17.4.3通过扩展基类所定义DAO类 671
17.4.4 DAO Bean的装配 672
17.4.5使用Hibernate二级缓存 674
17.5对持久层进行测试 676
17.5.1配置Unitils测试环境 676
17.5.2准备测试数据库及测试数据 677
17.5.3编写DAO测试基类 678
17.5.4编写BoardDao测试用例 678
17.6服务层开发 680
17.6.1 UserService的开发 680
17.6.2 ForumService的开发 682
17.6.3服务类Bean的装配 685
17.7对服务层进行测试 686
17.7.1编写Service测试基类 687
17.7.2编写ForumService测试用例 687
17.8 Web层开发 689
17.8.1 BaseController的基类 689
17.8.2用户登录和注销 691
17.8.3用户注册 692
17.8.4论坛管理 694
17.8.5论坛普通功能 696
17.8.6分页显示论坛版块的主题帖子 698
17.8.7 web.xml配置 702
17.8.8 Spring MVC配置 704
17.9对Web层进行测试 705
17.9.1编写Web测试基类 705
17.9.2编写ForumManageController测试用例 706
17.10部署和运行应用 707
17.11小结 710
附录A JavaMail发送邮件 711
附录B在Spring中开发Web Service 738
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《英汉翻译理论的多维阐释及应用剖析》常瑞娟著 2019
- 《Maya 2018完全实战技术手册》来阳编著 2019
- 《数据库技术与应用 Access 2010 微课版 第2版》刘卫国主编 2020
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《虚拟流域环境理论技术研究与应用》冶运涛蒋云钟梁犁丽曹引等编著 2019
- 《Python3从入门到实战》董洪伟 2019
- 《当代翻译美学的理论诠释与应用解读》宁建庚著 2019
- 《第一性原理方法及应用》李青坤著 2019
- 《Photoshop CC 2018基础教程》温培利,付华编著 2019
- 《为革命事业奉献终生》王纪华纪念集编审委员会 1995
- 《口译理论研究》王斌华著 2019
- 《高等学校“十三五”规划教材 C语言程序设计》翟玉峰责任编辑;(中国)李聪,曾志华,江伟 2019
- 《西中有东》华大学国学院编;(美)包华石;王金凤译 2019
- 《新型冠状病毒肺炎重症护理手册》胡少华,刘卫华主编 2020
- 《微软Azure实战参考》李竞,陈勇华编著 2019
- 《韦伯的比较历史社会学今探》罗俊华责编;张翼飞,殷亚迪译者;(美)斯蒂芬·卡尔博格 2020
- 《新编临床药物使用规范》孙国栋,解华主编 2017
- 《我辈孤雏 双语版》石黑一雄著;林为正译 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017