Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南

Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [英] ,
2009-09
版次: 1
ISBN: 9787115212047
定价: 99.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 764页
字数: 1304千字
正文语种: 简体中文
原版书名: Pro Spring 2.5
22人买过
  •   《Spring高级程序设计》对Spring开发框架的核心概念及关键模块进行了深入剖析,并结合示例展示了它们的具体应用。《Spring高级程序设计》共分4部分。第一部分介绍Spring框架的基础知识,重点阐述了AOP和IOC的基本概念;第二部分介绍Spring对数据持久化的支持,从基础的JDBC开始,讲解了Spring对应用最广泛的ORM框架iBATIS和Hibernate的支持;第三部分阐述了Spring企业级组件,介绍了任务调度、Mail服务、动态语言等企业级组件相关的知识;第四部分阐述如何使用Spring进行JavaEE5开发,从远程调用和事务管理开始,接着介绍了SpringMVC、Web工作流、AJAX、JMX、单元测试以及性能调优等JavaEE相关开发知识。《Spring高级程序设计》由Spring框架核心开发人员撰写,适合各层次Java开发人员,特别是企业级Java开发人员阅读参考。   JanMachacekCake,解决方案的首席软件架构师,在所有项目的架构讨论中他都是核心人物。除了软件架构,Jan也经常为实现一些最复杂和最具挑战性的功能提供帮助。自从加入了Cake项目以来,Jan不但参与了各种各样复杂的项目,还出版了不少技术专著,证明了他在Java开发领域的高深造诣。闲暇之余,Jan热衷于自行车运动,是曼彻斯特自行车俱乐部会员。不管是计时赛还是公路赛,他都全力争胜!
      Jan负责第1~4、6、9、11、14、16、22章的撰写。
      AleksaVukoticCake,解决方案的软件架构师,负责大部分Cake项目的架构及实现。他在JavaEE方面,特别是在SpingMVC应用开发和安全领域有着丰富的经验。他掌握了很多技术诀窍,这让他几乎可以解决所有技术难题。他还是一位出色的领导者,率领Cake解决方案开发团队,帮助团队解决最棘手的问题。除了醉心于Java和.NET平台外,他还喜欢体育、音乐和夜生活。他与Jan一起负责Cake解决方案的所有主要项目。
      Aleksa负责第5、8、10、15、17、21章的撰写。
      AnirvanChakrabortyCake,解决方案的高级开发工程师。由于在Spring框架方面有着丰富的经验并对细节实现有深入了解,他负责实现一些具有挑战性的项目。Anirvan为他的代码感到自豪,始终都确保他的代码能够作为范例示人。除了爱捣弄JavaEE和Linux之外,他喜欢跟朋友们一起聚会,享用美食。他还热衷于板球,喜欢阅读侦探小说。
      Anirvan负责第7、13、19、20章的撰写。
      JessicaDirt,自2008年初开始成为伦敦AvenueARazorfish公司的开发人员。在此之前她为Cake解决方案工作了两年半。她主要负责一些企业级项目,所有项目都用到了本书所介绍的Spring框架和SpringWebFlowJessica掌握了大量的专业知识,擅长使用Lucene获取更高效率的索引,使用Gigaspaces有效地提升JavaEE应用的可扩展性。工作之余,Jessica热衷于排球运动和健身。
      Jessica负责第12、18章的撰写。 第一部分Spring入门
    第1章Spring简介2
    1.1Spring是什么2
    1.1.1依赖注入之外的特性4
    1.1.2使用Spring进行面向方面编程4
    1.1.3数据访问5
    1.1.4简化与整合JavaEE5
    1.1.5基于Spring的任务调度6
    1.1.6Spring对邮件的支持6
    1.1.7动态语言6
    1.1.8远程访问6
    1.1.9事务管理7
    1.1.10SpringMVC框架7
    1.1.11SpringWebFlow7
    1.1.12AJAX技术7
    1.1.13国际化8
    1.1.14简化异常处理8
    1.2Spring项目8
    1.2.1Spring的起源8
    1.2.2Spring.NET8
    1.2.3SpringIDE9
    1.2.4Spring安全系统(原Acegi)9
    1.2.5Spring的替代方案9
    1.3示例代码10
    1.4小结10

    第2章Spring入门11
    2.1获取Spring框架11
    2.1.1从CVS上签出Spring11
    2.1.2从源码构建Spring12
    2.1.3检查Spring发布包13
    2.1.4Spring发布包13
    2.1.5Spring依赖的包14
    2.1.6示例应用16
    2.1.7配置Spring和IDE18
    2.2HelloWorld示例20
    2.3Spring版本的“Hello,World”示例23
    2.3.1依赖注入24
    2.3.2Spring的侵入性26
    2.4小结26

    第3章控制反转27
    3.1控制反转和依赖注入27
    3.2控制反转的类型27
    3.2.1上下文依赖查找29
    3.2.2构造方法依赖注入30
    3.2.3设置方法依赖注入31
    3.2.4依赖注入与依赖查找32
    3.2.5设置方法注入与构造方法注入33
    3.3Spring中的控制反转34
    3.4基于Spring的依赖注入34
    3.4.1bean和BeanFactory34
    3.4.2BeanFactory实现35
    3.4.3XMLbean定义36
    3.4.4构造方法注入37
    3.4.5注入参数40
    3.4.6理解bean的命名50
    3.4.7bean的实例化模式52
    3.4.8解析依赖55
    3.4.9bean的自动装配57
    3.4.10依赖检查61
    3.4.11bean的继承62
    3.5小结64

    第4章进阶66
    4.1Spring对应用程序可移植性的影响67
    4.2管理bean的生命周期67
    4.2.1嵌入bean的创建68
    4.2.2嵌入bean的销毁74
    4.3让bean可被Spring感知79
    4.3.1使用BeanNameAware接口80
    4.3.2使用BeanFactoryAware接口81
    4.4使用方法注入(methodinjection)83
    4.4.1查找方法注入83
    4.4.2方法替换88
    4.5使用FactoryBean接口91
    4.5.1MessageDigestFactoryBean类91
    4.5.2直接访问FactoryBean94
    4.6BeanFactoryPostProcessor类94
    4.7JavaBean的属性修改器101
    4.7.1内建的PropertyEditor101
    4.7.2创建自定义PropertyEditor104
    4.8BeanPostProcessor类108
    4.8.1实现一个BeanPostProcessor110
    4.8.2使用BeanPostProcessor类的实机选择114
    4.9SpringApplicationContext115
    4.9.1ApplicationContext的实现类115
    4.9.2使用ApplicationContextAware116
    4.9.3控制bean的初始化117
    4.9.4使用基于注解的配置118
    4.9.5使用MessageSource进行国际化123
    4.9.6在独立应用中使用MessageSource130
    4.9.7MessageSourceResolvable接口130
    4.9.8使用应用程序事件130
    4.9.9对于事件用法的考虑132
    4.9.10访问资源133
    4.10小结134

    第5章SpringAOP基础135
    5.1AOP概念136
    5.2AOP的类型136
    5.2.1静态AOP137
    5.2.2动态AOP137
    5.2.3选择一种AOP类型137
    5.3Spring中的AOP137
    5.3.1AOP联盟138
    5.3.2AOP的HelloWorld138
    5.3.3SpringAOP架构140
    5.3.4ProxyFactory类140
    5.3.5在Spring中创建通知141
    5.4Spring里的通知者和切入点155
    5.4.1切入点接口156
    5.4.2使用ComposablePointcut172
    5.4.3切入点总结175
    5.5代理详解176
    5.5.1理解代理176
    5.5.2使用JDK动态代理176
    5.5.3使用CGLIB代理177
    5.5.4两者的性能比较177
    5.5.5选用代理180
    5.6小结180

    第6章AOP进阶182
    6.1@AspectJ注解182
    6.2@AspectJ方面详解186
    6.2.1切入点186
    6.2.2切入点表达式189
    6.2.3探讨切入点表达式191
    6.2.4在XML中使用@Pointcuts194
    6.2.5通知的类型194
    6.2.6参数绑定201
    6.2.7引入202
    6.2.8方面的生命周期208
    6.3AOP的框架服务209
    6.3.1使用AOP命名空间创建第一个方面209
    6.3.2AOP命名空间中的切入点211
    6.3.3使用AOP命名空间创建通知212
    6.3.4AOP命名空间中的引入217
    6.4风格选择219
    6.5使用SpringAOP代理220
    6.6AspectJ集成225
    6.6.1创建第一个AspectJ方面225
    6.6.2编译示例程序227
    6.6.3AspectJ方面的作用域229
    6.7加载时织入230
    6.7.1第一个加载时织入示例230
    6.7.2LoadTimeWeaver的查找策略232
    6.8AOP实践232
    6.9小结235

    第7章Springschema与命名空间236
    7.1新配置的缘由236
    7.2Spring2.5包含的schema238
    7.2.1beansschema238
    7.2.2上下文schema239
    7.2.3utilschema239
    7.2.4txschema242
    7.2.5aopschema242
    7.2.6jeeschema242
    7.2.7langschema243
    7.3schema背后244
    7.4自定义schema246
    7.5IDE配置249
    7.6小结252

    第8章Spring模式253
    8.1目录结构253
    8.1.1简单应用253
    8.1.2复杂应用255
    8.1.3打包和命名255
    8.2设计模式简介255
    8.2.1面向接口编程256
    8.2.2创建模式256
    8.2.3结构模式260
    8.2.4行为模式262
    8.3Spring应用模式264
    8.3.1分层设计265
    8.3.2高性能分页266
    8.3.3多错误报告268
    8.3.4用户界面事务271
    8.3.5后台进程274
    8.3.6邮件通知278
    8.3.7错误收集和日志280
    8.4小结283

    第二部分数据访问
    第9章Spring对JDBC的支持286
    9.1JDBC的主要概念286
    9.1.1使用DriverManager和Connection288
    9.1.2使用PreparedStatement289
    9.1.3使用CallableStatement类292
    9.1.4其他JDBC概念293
    9.2Spring对数据访问支持的概念293
    9.3Spring对JDBC数据访问的支持294
    9.4使用JdbcTemplate类294
    9.4.1JdbcTemplate类的execute方法296
    9.4.2JdbcTemplate类的query方法和该方法的扩展299
    9.4.3JdbcTemplat类的update方法303
    9.4.4JdbcTemplate类的batchUpdate方法304
    9.5RdbmsOperation子类305
    9.5.1SqlUpdate子类306
    9.5.2BatchSqlUpdate子类311
    9.5.3SqlCall类和StoredProcedure子类312
    9.5.4SqlQuery类和它的子类314
    9.5.5JdbcTemplate类和RdbmsOperation类的比较321
    9.6大二进制对象321
    9.7JdbcDaoSupport类324
    9.8简单的SpringJDBC326
    9.8.1SimpleJdbcTemplate类326
    9.8.2SimpleJdbcCall类329
    9.8.3SimpleJdbcInsert类331
    9.8.4SimpleJdbcDaoSupport类332
    9.9小结333

    第10章集成iBATIS334
    10.1iBATIS简述334
    10.1.1iBATIS版本334
    10.1.2基础架构和配置335
    10.2映射文件335
    10.2.1sqlMap文件337
    10.2.2配置iBATIS和Spring339
    10.3查询数据341
    10.3.1简单查询操作341
    10.3.2一对一查询操作344
    10.3.3一对多查询操作348
    10.3.4多对多查询操作350
    10.4更新数据350
    10.5删除数据353
    10.6插入数据354
    10.7iBATIS缺少的特性356
    10.8整体性能357
    10.9小结358

    第11章Spring对Hibernate的支持..359
    11.1Hibernate入门359
    11.2Hibernate打包360
    11.3Hibernate支持的介绍361
    11.3.1使用HibernateSession363
    11.3.2使用HibernateDaoSupport类366
    11.3.3HibernateTemplate和Session间的选择368
    11.4在企业级应用程序中使用Hibernate372
    11.4.1阻止更新脏数据372
    11.4.2对象等价性375
    11.4.3事务支持378
    11.4.4延迟加载382
    11.5处理大数据集392
    11.6处理大对象394
    11.7使用Hibernate处理其他DAO代码397
    11.8小结398

    第三部分企业级应用组件
    第12章基于Spring的任务调度400
    12.1使用JDKTimer调度任务401
    12.1.1Timer触发器类型401
    12.1.2创建一个简单任务401
    12.1.3Spring对JDKTimer调度的支持404
    12.2使用OpenSymphonyQuartz来调度任务409
    12.2.1Quartz简介410
    12.2.2Spring对Quartz的支持418
    12.3任务调度时需考虑的因素423
    12.3.1选择一个调度器423
    12.3.2剥离Job类中的任务逻辑424
    12.3.3任务执行和线程池424
    12.4小结428

    第13章Spring的邮件支持429
    13.1SpringMailAPI结构430
    13.2发送简单的电子邮件430
    13.2.1编程式构造和发送电子邮件431
    13.2.2声明式构造电子邮件433
    13.3构造并发送MIME消息436
    13.3.1发送基本的HTML消息438
    13.3.2发送带有内嵌图片的HTML消息439
    13.3.3发送带有附件的消息441
    13.3.4发送带有可替换纯文本的HTML消息442
    13.3.5发送复杂MIME消息445
    13.4深入了解企业级电子邮件处理449
    13.5小结458

    第14章动态语言459
    14.1支持的动态语言概览459
    14.1.1BeanShell459
    14.1.2Groovy461
    14.1.3JRuby462
    14.2使用动态语言定义Springbean463
    14.2.1动态语言支持的幕后465
    14.2.2代理动态语言bean466
    14.2.3性能466
    14.3可刷新bean(refreshablebean)468
    14.4基于BeanShell的bean470
    14.5基于JRuby的bean472
    14.6基于Groovy的bean473
    14.7动态语言在Spring程序中的典型应用473
    14.8小结477

    第四部分JavaEE5应用开发
    第15章Spring远程访问480
    15.1SpringRemoting架构481
    15.2远程方法调用482
    15.2.1开放任意的服务482
    15.2.2通过代理访问RMI服务484
    15.2.3开放CORBA服务486
    15.2.4访问CORBA服务488
    15.3使用JAX-RPC实现Web服务490
    15.3.1ApacheAxis简介490
    15.3.2使用ServletEndpointSupport创建Web服务490
    15.3.3使用代理访问RPC风格的Web服务494
    15.3.4与Axis服务的JavaBean交互497
    15.4使用JAX-WSWeb服务500
    15.4.1通过SimpleJaxWsServiceExporter公开Web服务501
    15.4.2使用XFire公开Web服务501
    15.4.3访问JAX-WSWeb服务503
    15.4.4从其他客户端访问JavaWeb服务504
    15.5使用HTTPInvoker创建Web服务507
    15.5.1开发简单服务508
    15.5.2通过代理访问HTTPInvoker服务510
    15.5.3在HTTPInvoker服务中使用任意对象511
    15.5.4使用HTTP基本认证513
    15.6远程架构的选择516
    15.7小结517

    第16章事务管理518
    16.1Spring事务抽象层简介518
    16.2分析事务属性519
    16.2.1探索TransactionDefinition接口519
    16.2.2使用TransactionStatus接口520
    16.2.3PlatformTransactionManager的实现521
    16.3对一个事务管理示例的探索521
    16.4编程式事务管理529
    16.4.1使用TransactionTemplate类531
    16.4.2编程式事务管理小结532
    16.5声明性事务管理532
    16.5.1使用TransactionProxyFactoryBean532
    16.5.2在事务管理中使用代理的含义534
    16.6AOP事务管理535
    16.6.1使用基于注解的AOP事务管理535
    16.6.2使用XMLAOP事务管理537
    16.6.3tx:advice标签简介538
    16.6.4XMLAOP小结539
    16.7在多个事务性资源上使用事务540
    16.8实现你自己的事务同步541
    16.9小结548

    第17章基于SpringMVC的Web应用开发549
    17.1MVC架构549
    17.2SpringMVC介绍550
    17.3使用处理器映射551
    17.4Spring控制器553
    17.4.1AbstractController类554
    17.4.2ParameterizableViewController类555
    17.4.3MultiActionController类555
    17.5拦截器558
    17.6视图.本地化和主题559
    17.6.1以编程的方式使用视图559
    17.6.2使用视图解析器561
    17.6.3使用本地化消息565
    17.6.4使用Locale565
    17.6.5使用主题565
    17.7命令控制器567
    17.7.1使用表单控制器568
    17.7.2探索AbstractWizardFormController类574
    17.7.3文件上传578
    17.8处理异常581
    17.9Spring与其他Web技术583
    17.9.1使用JSP583
    17.9.2使用Velocity600
    17.9.3FreeMarker604
    17.9.4使用XSLT视图608
    17.9.5使用PDF视图609
    17.9.6实现PDF视图610
    17.9.7使用Excel视图611
    17.9.8使用Tiles613
    17.9.9JasperReports报表引擎623
    17.10Spring的约定优于配置627
    17.10.1控制器约定628
    17.10.2MultiActionController约定628
    17.10.3模型约定629
    17.10.4视图约定630
    17.11使用注解配置控制器631
    17.11.1@Controller注解631
    17.11.2@RequestMapping注解632
    17.11.3@RequestParam注解633
    17.11.4@ModelAttribute注解633
    17.11.5使用注解配置命令控制器634
    17.12小结635

    第18章SpringWebFlow636
    18.1SpringWebFlow简介637
    18.1.1核心概念637
    18.1.2获取SpringWebFlow640
    18.1.3SpringWebFlow依赖642
    18.2Hello,WebFlow!642
    18.3探索状态646
    18.3.1view状态647
    18.3.2decision状态647
    18.3.3end状态648
    18.4处理转换648
    18.5高级概念650
    18.5.1表达式语言和范围650
    18.5.2实现action653
    18.5.3模型数据绑定654
    18.5.4局部视图刷新658
    18.5.5映射流的输入与输出参数658
    18.5.6使用子流659
    18.6幕后的SpringWebFlow660
    18.6.1流执行架构660
    18.6.2流执行者662
    18.6.3流定义注册表662
    18.6.4流执行仓库665
    18.7集成SpringMVC666
    18.7.1流处理666
    18.7.2视图解析667
    18.8使用SpringSecurity构建安全的流668
    18.8.1第一步:添加SecurityFlow-ExecutionListener668
    18.8.2第二步:处理基本的认证和授权668
    18.8.3第三步:在流定义中定义安全规则670
    18.9问题解决672
    18.9.1带状态的导航控制672
    18.9.2浏览器导航栏支持和双提交(doublesubmit)672
    18.10测试流定义673
    18.11小结674

    第19章Spring与AJAX675
    19.1DWR675
    19.2安装DWR676
    19.3针对DWR的Spring配置676
    19.4关于完整示例677
    19.5测试DWR配置682
    19.6运行完整示例682
    19.7DWR脚本基础683
    19.7.1使用简单的回调函数683
    19.7.2调用元数据对象684
    19.8engine.js文件684
    19.8.1调用批处理684
    19.8.2调用顺序684
    19.8.3错误和警告处理684
    19.9util.js脚本685
    19.10DWR的安全性685
    19.11DWR的优缺点686
    19.12小结687

    第20章使用SpringJMX688
    20.1JMX进阶688
    20.2开放JavaBean689
    20.2.1MBeanExporter类689
    20.2.2MBeanServerFactoryBean类691
    20.2.3在已有的MBean服务器上开放Bean692
    20.2.4Bean注册行为692
    20.3控制对象名693
    20.4控制管理接口693
    20.4.1MBeanInfoAssembler接口693
    20.4.2MethodNameBasedMBean-InfoAssembler接口694
    20.4.3用Java接口来控制管理接口696
    20.4.4使用源码级元数据698
    20.5远程使用SpringJMX701
    20.5.1开放远程MBean701
    20.5.2访问远程MBean702
    20.5.3代理MBean702
    20.6SpringJMX通知703
    20.6.1通知监听器703
    20.6.2发布通知704
    20.7小结708

    第21章使用Spring进行测试709
    21.1进行单元测试709
    21.2单元测试711
    21.3集成测试715
    21.3.1使用AbstractSpring-ContextTests722
    21.3.2使用AbstractDependency-InjectionSpringContext-Tests类723
    21.3.3使用AbstractTransac-tionalSpringContextTest726
    21.3.4使用AbstractAnnotation-AwareTransactionalTest728
    21.3.5JNDI731
    21.4SpringTestContextFramework733
    21.4.1应用上下文及使用TestContextFramework进行依赖注入733
    21.4.2使用TestContextFramework进行依赖注入735
    21.4.3TestContextFramework中的事务736
    21.4.4支持类738
    21.5测试覆盖740
    21.6小结740

    第22章Spring性能调优741
    22.1性能与响应741
    22.2探索企业应用的性能问题741
    22.3测量JavaEE应用的性能742
    22.3.1测量目标742
    22.3.2确定必要的数据集747
    22.3.3改善数据访问层748
    22.3.4提高事务管理757
    22.3.5控制远程调用的性能758
  • 内容简介:
      《Spring高级程序设计》对Spring开发框架的核心概念及关键模块进行了深入剖析,并结合示例展示了它们的具体应用。《Spring高级程序设计》共分4部分。第一部分介绍Spring框架的基础知识,重点阐述了AOP和IOC的基本概念;第二部分介绍Spring对数据持久化的支持,从基础的JDBC开始,讲解了Spring对应用最广泛的ORM框架iBATIS和Hibernate的支持;第三部分阐述了Spring企业级组件,介绍了任务调度、Mail服务、动态语言等企业级组件相关的知识;第四部分阐述如何使用Spring进行JavaEE5开发,从远程调用和事务管理开始,接着介绍了SpringMVC、Web工作流、AJAX、JMX、单元测试以及性能调优等JavaEE相关开发知识。《Spring高级程序设计》由Spring框架核心开发人员撰写,适合各层次Java开发人员,特别是企业级Java开发人员阅读参考。
  • 作者简介:
      JanMachacekCake,解决方案的首席软件架构师,在所有项目的架构讨论中他都是核心人物。除了软件架构,Jan也经常为实现一些最复杂和最具挑战性的功能提供帮助。自从加入了Cake项目以来,Jan不但参与了各种各样复杂的项目,还出版了不少技术专著,证明了他在Java开发领域的高深造诣。闲暇之余,Jan热衷于自行车运动,是曼彻斯特自行车俱乐部会员。不管是计时赛还是公路赛,他都全力争胜!
      Jan负责第1~4、6、9、11、14、16、22章的撰写。
      AleksaVukoticCake,解决方案的软件架构师,负责大部分Cake项目的架构及实现。他在JavaEE方面,特别是在SpingMVC应用开发和安全领域有着丰富的经验。他掌握了很多技术诀窍,这让他几乎可以解决所有技术难题。他还是一位出色的领导者,率领Cake解决方案开发团队,帮助团队解决最棘手的问题。除了醉心于Java和.NET平台外,他还喜欢体育、音乐和夜生活。他与Jan一起负责Cake解决方案的所有主要项目。
      Aleksa负责第5、8、10、15、17、21章的撰写。
      AnirvanChakrabortyCake,解决方案的高级开发工程师。由于在Spring框架方面有着丰富的经验并对细节实现有深入了解,他负责实现一些具有挑战性的项目。Anirvan为他的代码感到自豪,始终都确保他的代码能够作为范例示人。除了爱捣弄JavaEE和Linux之外,他喜欢跟朋友们一起聚会,享用美食。他还热衷于板球,喜欢阅读侦探小说。
      Anirvan负责第7、13、19、20章的撰写。
      JessicaDirt,自2008年初开始成为伦敦AvenueARazorfish公司的开发人员。在此之前她为Cake解决方案工作了两年半。她主要负责一些企业级项目,所有项目都用到了本书所介绍的Spring框架和SpringWebFlowJessica掌握了大量的专业知识,擅长使用Lucene获取更高效率的索引,使用Gigaspaces有效地提升JavaEE应用的可扩展性。工作之余,Jessica热衷于排球运动和健身。
      Jessica负责第12、18章的撰写。
  • 目录:
    第一部分Spring入门
    第1章Spring简介2
    1.1Spring是什么2
    1.1.1依赖注入之外的特性4
    1.1.2使用Spring进行面向方面编程4
    1.1.3数据访问5
    1.1.4简化与整合JavaEE5
    1.1.5基于Spring的任务调度6
    1.1.6Spring对邮件的支持6
    1.1.7动态语言6
    1.1.8远程访问6
    1.1.9事务管理7
    1.1.10SpringMVC框架7
    1.1.11SpringWebFlow7
    1.1.12AJAX技术7
    1.1.13国际化8
    1.1.14简化异常处理8
    1.2Spring项目8
    1.2.1Spring的起源8
    1.2.2Spring.NET8
    1.2.3SpringIDE9
    1.2.4Spring安全系统(原Acegi)9
    1.2.5Spring的替代方案9
    1.3示例代码10
    1.4小结10

    第2章Spring入门11
    2.1获取Spring框架11
    2.1.1从CVS上签出Spring11
    2.1.2从源码构建Spring12
    2.1.3检查Spring发布包13
    2.1.4Spring发布包13
    2.1.5Spring依赖的包14
    2.1.6示例应用16
    2.1.7配置Spring和IDE18
    2.2HelloWorld示例20
    2.3Spring版本的“Hello,World”示例23
    2.3.1依赖注入24
    2.3.2Spring的侵入性26
    2.4小结26

    第3章控制反转27
    3.1控制反转和依赖注入27
    3.2控制反转的类型27
    3.2.1上下文依赖查找29
    3.2.2构造方法依赖注入30
    3.2.3设置方法依赖注入31
    3.2.4依赖注入与依赖查找32
    3.2.5设置方法注入与构造方法注入33
    3.3Spring中的控制反转34
    3.4基于Spring的依赖注入34
    3.4.1bean和BeanFactory34
    3.4.2BeanFactory实现35
    3.4.3XMLbean定义36
    3.4.4构造方法注入37
    3.4.5注入参数40
    3.4.6理解bean的命名50
    3.4.7bean的实例化模式52
    3.4.8解析依赖55
    3.4.9bean的自动装配57
    3.4.10依赖检查61
    3.4.11bean的继承62
    3.5小结64

    第4章进阶66
    4.1Spring对应用程序可移植性的影响67
    4.2管理bean的生命周期67
    4.2.1嵌入bean的创建68
    4.2.2嵌入bean的销毁74
    4.3让bean可被Spring感知79
    4.3.1使用BeanNameAware接口80
    4.3.2使用BeanFactoryAware接口81
    4.4使用方法注入(methodinjection)83
    4.4.1查找方法注入83
    4.4.2方法替换88
    4.5使用FactoryBean接口91
    4.5.1MessageDigestFactoryBean类91
    4.5.2直接访问FactoryBean94
    4.6BeanFactoryPostProcessor类94
    4.7JavaBean的属性修改器101
    4.7.1内建的PropertyEditor101
    4.7.2创建自定义PropertyEditor104
    4.8BeanPostProcessor类108
    4.8.1实现一个BeanPostProcessor110
    4.8.2使用BeanPostProcessor类的实机选择114
    4.9SpringApplicationContext115
    4.9.1ApplicationContext的实现类115
    4.9.2使用ApplicationContextAware116
    4.9.3控制bean的初始化117
    4.9.4使用基于注解的配置118
    4.9.5使用MessageSource进行国际化123
    4.9.6在独立应用中使用MessageSource130
    4.9.7MessageSourceResolvable接口130
    4.9.8使用应用程序事件130
    4.9.9对于事件用法的考虑132
    4.9.10访问资源133
    4.10小结134

    第5章SpringAOP基础135
    5.1AOP概念136
    5.2AOP的类型136
    5.2.1静态AOP137
    5.2.2动态AOP137
    5.2.3选择一种AOP类型137
    5.3Spring中的AOP137
    5.3.1AOP联盟138
    5.3.2AOP的HelloWorld138
    5.3.3SpringAOP架构140
    5.3.4ProxyFactory类140
    5.3.5在Spring中创建通知141
    5.4Spring里的通知者和切入点155
    5.4.1切入点接口156
    5.4.2使用ComposablePointcut172
    5.4.3切入点总结175
    5.5代理详解176
    5.5.1理解代理176
    5.5.2使用JDK动态代理176
    5.5.3使用CGLIB代理177
    5.5.4两者的性能比较177
    5.5.5选用代理180
    5.6小结180

    第6章AOP进阶182
    6.1@AspectJ注解182
    6.2@AspectJ方面详解186
    6.2.1切入点186
    6.2.2切入点表达式189
    6.2.3探讨切入点表达式191
    6.2.4在XML中使用@Pointcuts194
    6.2.5通知的类型194
    6.2.6参数绑定201
    6.2.7引入202
    6.2.8方面的生命周期208
    6.3AOP的框架服务209
    6.3.1使用AOP命名空间创建第一个方面209
    6.3.2AOP命名空间中的切入点211
    6.3.3使用AOP命名空间创建通知212
    6.3.4AOP命名空间中的引入217
    6.4风格选择219
    6.5使用SpringAOP代理220
    6.6AspectJ集成225
    6.6.1创建第一个AspectJ方面225
    6.6.2编译示例程序227
    6.6.3AspectJ方面的作用域229
    6.7加载时织入230
    6.7.1第一个加载时织入示例230
    6.7.2LoadTimeWeaver的查找策略232
    6.8AOP实践232
    6.9小结235

    第7章Springschema与命名空间236
    7.1新配置的缘由236
    7.2Spring2.5包含的schema238
    7.2.1beansschema238
    7.2.2上下文schema239
    7.2.3utilschema239
    7.2.4txschema242
    7.2.5aopschema242
    7.2.6jeeschema242
    7.2.7langschema243
    7.3schema背后244
    7.4自定义schema246
    7.5IDE配置249
    7.6小结252

    第8章Spring模式253
    8.1目录结构253
    8.1.1简单应用253
    8.1.2复杂应用255
    8.1.3打包和命名255
    8.2设计模式简介255
    8.2.1面向接口编程256
    8.2.2创建模式256
    8.2.3结构模式260
    8.2.4行为模式262
    8.3Spring应用模式264
    8.3.1分层设计265
    8.3.2高性能分页266
    8.3.3多错误报告268
    8.3.4用户界面事务271
    8.3.5后台进程274
    8.3.6邮件通知278
    8.3.7错误收集和日志280
    8.4小结283

    第二部分数据访问
    第9章Spring对JDBC的支持286
    9.1JDBC的主要概念286
    9.1.1使用DriverManager和Connection288
    9.1.2使用PreparedStatement289
    9.1.3使用CallableStatement类292
    9.1.4其他JDBC概念293
    9.2Spring对数据访问支持的概念293
    9.3Spring对JDBC数据访问的支持294
    9.4使用JdbcTemplate类294
    9.4.1JdbcTemplate类的execute方法296
    9.4.2JdbcTemplate类的query方法和该方法的扩展299
    9.4.3JdbcTemplat类的update方法303
    9.4.4JdbcTemplate类的batchUpdate方法304
    9.5RdbmsOperation子类305
    9.5.1SqlUpdate子类306
    9.5.2BatchSqlUpdate子类311
    9.5.3SqlCall类和StoredProcedure子类312
    9.5.4SqlQuery类和它的子类314
    9.5.5JdbcTemplate类和RdbmsOperation类的比较321
    9.6大二进制对象321
    9.7JdbcDaoSupport类324
    9.8简单的SpringJDBC326
    9.8.1SimpleJdbcTemplate类326
    9.8.2SimpleJdbcCall类329
    9.8.3SimpleJdbcInsert类331
    9.8.4SimpleJdbcDaoSupport类332
    9.9小结333

    第10章集成iBATIS334
    10.1iBATIS简述334
    10.1.1iBATIS版本334
    10.1.2基础架构和配置335
    10.2映射文件335
    10.2.1sqlMap文件337
    10.2.2配置iBATIS和Spring339
    10.3查询数据341
    10.3.1简单查询操作341
    10.3.2一对一查询操作344
    10.3.3一对多查询操作348
    10.3.4多对多查询操作350
    10.4更新数据350
    10.5删除数据353
    10.6插入数据354
    10.7iBATIS缺少的特性356
    10.8整体性能357
    10.9小结358

    第11章Spring对Hibernate的支持..359
    11.1Hibernate入门359
    11.2Hibernate打包360
    11.3Hibernate支持的介绍361
    11.3.1使用HibernateSession363
    11.3.2使用HibernateDaoSupport类366
    11.3.3HibernateTemplate和Session间的选择368
    11.4在企业级应用程序中使用Hibernate372
    11.4.1阻止更新脏数据372
    11.4.2对象等价性375
    11.4.3事务支持378
    11.4.4延迟加载382
    11.5处理大数据集392
    11.6处理大对象394
    11.7使用Hibernate处理其他DAO代码397
    11.8小结398

    第三部分企业级应用组件
    第12章基于Spring的任务调度400
    12.1使用JDKTimer调度任务401
    12.1.1Timer触发器类型401
    12.1.2创建一个简单任务401
    12.1.3Spring对JDKTimer调度的支持404
    12.2使用OpenSymphonyQuartz来调度任务409
    12.2.1Quartz简介410
    12.2.2Spring对Quartz的支持418
    12.3任务调度时需考虑的因素423
    12.3.1选择一个调度器423
    12.3.2剥离Job类中的任务逻辑424
    12.3.3任务执行和线程池424
    12.4小结428

    第13章Spring的邮件支持429
    13.1SpringMailAPI结构430
    13.2发送简单的电子邮件430
    13.2.1编程式构造和发送电子邮件431
    13.2.2声明式构造电子邮件433
    13.3构造并发送MIME消息436
    13.3.1发送基本的HTML消息438
    13.3.2发送带有内嵌图片的HTML消息439
    13.3.3发送带有附件的消息441
    13.3.4发送带有可替换纯文本的HTML消息442
    13.3.5发送复杂MIME消息445
    13.4深入了解企业级电子邮件处理449
    13.5小结458

    第14章动态语言459
    14.1支持的动态语言概览459
    14.1.1BeanShell459
    14.1.2Groovy461
    14.1.3JRuby462
    14.2使用动态语言定义Springbean463
    14.2.1动态语言支持的幕后465
    14.2.2代理动态语言bean466
    14.2.3性能466
    14.3可刷新bean(refreshablebean)468
    14.4基于BeanShell的bean470
    14.5基于JRuby的bean472
    14.6基于Groovy的bean473
    14.7动态语言在Spring程序中的典型应用473
    14.8小结477

    第四部分JavaEE5应用开发
    第15章Spring远程访问480
    15.1SpringRemoting架构481
    15.2远程方法调用482
    15.2.1开放任意的服务482
    15.2.2通过代理访问RMI服务484
    15.2.3开放CORBA服务486
    15.2.4访问CORBA服务488
    15.3使用JAX-RPC实现Web服务490
    15.3.1ApacheAxis简介490
    15.3.2使用ServletEndpointSupport创建Web服务490
    15.3.3使用代理访问RPC风格的Web服务494
    15.3.4与Axis服务的JavaBean交互497
    15.4使用JAX-WSWeb服务500
    15.4.1通过SimpleJaxWsServiceExporter公开Web服务501
    15.4.2使用XFire公开Web服务501
    15.4.3访问JAX-WSWeb服务503
    15.4.4从其他客户端访问JavaWeb服务504
    15.5使用HTTPInvoker创建Web服务507
    15.5.1开发简单服务508
    15.5.2通过代理访问HTTPInvoker服务510
    15.5.3在HTTPInvoker服务中使用任意对象511
    15.5.4使用HTTP基本认证513
    15.6远程架构的选择516
    15.7小结517

    第16章事务管理518
    16.1Spring事务抽象层简介518
    16.2分析事务属性519
    16.2.1探索TransactionDefinition接口519
    16.2.2使用TransactionStatus接口520
    16.2.3PlatformTransactionManager的实现521
    16.3对一个事务管理示例的探索521
    16.4编程式事务管理529
    16.4.1使用TransactionTemplate类531
    16.4.2编程式事务管理小结532
    16.5声明性事务管理532
    16.5.1使用TransactionProxyFactoryBean532
    16.5.2在事务管理中使用代理的含义534
    16.6AOP事务管理535
    16.6.1使用基于注解的AOP事务管理535
    16.6.2使用XMLAOP事务管理537
    16.6.3tx:advice标签简介538
    16.6.4XMLAOP小结539
    16.7在多个事务性资源上使用事务540
    16.8实现你自己的事务同步541
    16.9小结548

    第17章基于SpringMVC的Web应用开发549
    17.1MVC架构549
    17.2SpringMVC介绍550
    17.3使用处理器映射551
    17.4Spring控制器553
    17.4.1AbstractController类554
    17.4.2ParameterizableViewController类555
    17.4.3MultiActionController类555
    17.5拦截器558
    17.6视图.本地化和主题559
    17.6.1以编程的方式使用视图559
    17.6.2使用视图解析器561
    17.6.3使用本地化消息565
    17.6.4使用Locale565
    17.6.5使用主题565
    17.7命令控制器567
    17.7.1使用表单控制器568
    17.7.2探索AbstractWizardFormController类574
    17.7.3文件上传578
    17.8处理异常581
    17.9Spring与其他Web技术583
    17.9.1使用JSP583
    17.9.2使用Velocity600
    17.9.3FreeMarker604
    17.9.4使用XSLT视图608
    17.9.5使用PDF视图609
    17.9.6实现PDF视图610
    17.9.7使用Excel视图611
    17.9.8使用Tiles613
    17.9.9JasperReports报表引擎623
    17.10Spring的约定优于配置627
    17.10.1控制器约定628
    17.10.2MultiActionController约定628
    17.10.3模型约定629
    17.10.4视图约定630
    17.11使用注解配置控制器631
    17.11.1@Controller注解631
    17.11.2@RequestMapping注解632
    17.11.3@RequestParam注解633
    17.11.4@ModelAttribute注解633
    17.11.5使用注解配置命令控制器634
    17.12小结635

    第18章SpringWebFlow636
    18.1SpringWebFlow简介637
    18.1.1核心概念637
    18.1.2获取SpringWebFlow640
    18.1.3SpringWebFlow依赖642
    18.2Hello,WebFlow!642
    18.3探索状态646
    18.3.1view状态647
    18.3.2decision状态647
    18.3.3end状态648
    18.4处理转换648
    18.5高级概念650
    18.5.1表达式语言和范围650
    18.5.2实现action653
    18.5.3模型数据绑定654
    18.5.4局部视图刷新658
    18.5.5映射流的输入与输出参数658
    18.5.6使用子流659
    18.6幕后的SpringWebFlow660
    18.6.1流执行架构660
    18.6.2流执行者662
    18.6.3流定义注册表662
    18.6.4流执行仓库665
    18.7集成SpringMVC666
    18.7.1流处理666
    18.7.2视图解析667
    18.8使用SpringSecurity构建安全的流668
    18.8.1第一步:添加SecurityFlow-ExecutionListener668
    18.8.2第二步:处理基本的认证和授权668
    18.8.3第三步:在流定义中定义安全规则670
    18.9问题解决672
    18.9.1带状态的导航控制672
    18.9.2浏览器导航栏支持和双提交(doublesubmit)672
    18.10测试流定义673
    18.11小结674

    第19章Spring与AJAX675
    19.1DWR675
    19.2安装DWR676
    19.3针对DWR的Spring配置676
    19.4关于完整示例677
    19.5测试DWR配置682
    19.6运行完整示例682
    19.7DWR脚本基础683
    19.7.1使用简单的回调函数683
    19.7.2调用元数据对象684
    19.8engine.js文件684
    19.8.1调用批处理684
    19.8.2调用顺序684
    19.8.3错误和警告处理684
    19.9util.js脚本685
    19.10DWR的安全性685
    19.11DWR的优缺点686
    19.12小结687

    第20章使用SpringJMX688
    20.1JMX进阶688
    20.2开放JavaBean689
    20.2.1MBeanExporter类689
    20.2.2MBeanServerFactoryBean类691
    20.2.3在已有的MBean服务器上开放Bean692
    20.2.4Bean注册行为692
    20.3控制对象名693
    20.4控制管理接口693
    20.4.1MBeanInfoAssembler接口693
    20.4.2MethodNameBasedMBean-InfoAssembler接口694
    20.4.3用Java接口来控制管理接口696
    20.4.4使用源码级元数据698
    20.5远程使用SpringJMX701
    20.5.1开放远程MBean701
    20.5.2访问远程MBean702
    20.5.3代理MBean702
    20.6SpringJMX通知703
    20.6.1通知监听器703
    20.6.2发布通知704
    20.7小结708

    第21章使用Spring进行测试709
    21.1进行单元测试709
    21.2单元测试711
    21.3集成测试715
    21.3.1使用AbstractSpring-ContextTests722
    21.3.2使用AbstractDependency-InjectionSpringContext-Tests类723
    21.3.3使用AbstractTransac-tionalSpringContextTest726
    21.3.4使用AbstractAnnotation-AwareTransactionalTest728
    21.3.5JNDI731
    21.4SpringTestContextFramework733
    21.4.1应用上下文及使用TestContextFramework进行依赖注入733
    21.4.2使用TestContextFramework进行依赖注入735
    21.4.3TestContextFramework中的事务736
    21.4.4支持类738
    21.5测试覆盖740
    21.6小结740

    第22章Spring性能调优741
    22.1性能与响应741
    22.2探索企业应用的性能问题741
    22.3测量JavaEE应用的性能742
    22.3.1测量目标742
    22.3.2确定必要的数据集747
    22.3.3改善数据访问层748
    22.3.4提高事务管理757
    22.3.5控制远程调用的性能758
查看详情
系列丛书 / 更多
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
机器学习实战
[美]Peter Harrington 著;李锐、李鹏、曲亚东 译
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
Python编程:从入门到实践
[美]埃里克·马瑟斯(Eric Matthes) 著;袁国忠 译
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
图灵程序设计丛书:Python基础教程
[挪威]Magnus Lie Hetland 著;司维、曾军崴、谭颖华 译
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
JavaScript高级程序设计(第3版)
[美]Nicholas C.Zakas 著;李松峰、曹力 译
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
算法(第4版)
[美]Robert、[美]Kevin Wayne 著;谢路云 译
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
R语言实战(第2版)
[美]卡巴科弗(Robert I. Kabacoff) 著;王小宁、刘撷芯、黄俊文 译
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
MySQL必知必会
[英]福塔(Ben Forta) 著;刘晓霞、钟鸣 译
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
Spark快速大数据分析
[美]卡劳(Holden Karau)、[美]肯维尼斯科(Andy Konwinski)、[美]温德尔(Patrick Wendell)、[加拿大]扎哈里亚(Matei Zaharia) 著;王道远 译
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
算法图解
袁国忠 译
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
大数据:互联网大规模数据挖掘与分布式处理
[美]Anand、[美]Jeffrey David Ullman 著;王斌 译
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
挑战程序设计竞赛
秋叶拓哉、岩田阳一、北川宜稔 著;巫泽俊、庄俊元、李津羽 译
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
Spring Boot实战
[美]克雷格·沃斯(Craig Walls) 著;丁雪丰 译
您可能感兴趣 / 更多
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
秩序四千年:人类如何运用法律缔造文明
[英]费尔南达·皮里
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
魔杖之外
[英]汤姆·费尔顿
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
土豆超人(全11册)打破偏见,拒绝标签!仅在英国销售100多万册,版权售出10多个国家的英国超人气绘本!
[英]苏·亨德拉
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
白莫卧儿人
[英]威廉·达尔林普尔(WilliamDalrymple)
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
Go语言权威指南 [英]亚当·弗里曼(Adam Freeman)
[英]亚当·弗里曼(adamfreeman)
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
温妮女巫魔法绘本:温妮的魔法游戏书(全套共5册)
[英]科奇·保罗
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
无镜的自然主义(实用主义与美国思想文化译丛)
[英]休·普莱斯
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
怪兽与贝萨妮(新锐天才作家写给当代孩子的奇幻杰作!华纳兄弟影业秒签电影版权!令孩子疯狂着迷)
[英]杰克•梅吉特-菲利普斯
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
冲突与控制 19世纪意大利的法律与秩序
[英]约翰·戴维斯(johna.davis)
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
21世纪的海军
[英]康拉德·沃特斯(ConradWaters)
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
详解精评《鲁滨逊漂流记》
[英]丹尼尔·笛福 著
Spring高级程序设计:Spring框架创始人倾情推荐的权威开发指南
格列佛游记
[英]斯威夫特 著