失效链接处理 |
《Spring_in_action中文第二版》PDF 下载
转载自:https://download.csdn.net/download/gengkui9897/10822194
提取码:7tgm
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/1437196924.html
本书分成三大部分并附有两个附录,每一部分分别对应Spring框架的一个领域:核心框架、业务和数据层、表示层。每一部分既是建立在前一部分的基础上,同时也可以独立存在。因此,读者不必从头开始,完全可以直接深入到某个主题。书中第一部分展示了Spring框架的两个核心特性:依赖注入和面向切面编程。第二部分以第一部分介绍的DI和AOP特性为基础,叙述了如何将这两个概念应用到应用程序的数据和业务层中。第三部分介绍了Spring构建Web应用程序的各种方式。 本书适合所有Java开发人员阅读,特别是对企业级Java开发人员更有帮助。本书循序渐进地指导读者浏览贯穿本书的复杂示例。Spring最突出之处在于它使企业级系统开发变得简单,所以,企业级系统开发人员会更加欣赏本书中的示例代码。本书最后4章描述了Spring是如何为Web层开发提供支持的,如果你是一位Web开发人员,你会发现本书的最后一部分特别有用。 相关截图: 图书目录: 第一部分 Spring的核心 第1章 开始Spring之旅 2 1.1 Spring是什么 3 1.2 开始Spring之旅 6 1.3 理解依赖注入 8 1.3.1 依赖注入 8 1.3.2 DI应用 9 1.3.3 企业级应用中的依赖注入 14 1.4 应用AOP 15 1.4.1 AOP介绍 15 1.4.2 AOP使用 16 1.5 小结 19 第2章 基本Bean装配 20 2.1 容纳你的Bean 21 2.1.1 BeanFactory介绍 21 2.1.2 使用应用上下文 22 2.1.3 Bean的生命 23 2.2 创建Bean 26 2.2.1 声明一个简单的Bean 26 2.2.2 通过构造函数注入 27 2.3 注入Bean属性 30 2.3.1 注入简单的数值 31 2.3.2 使用其他的Bean 31 2.3.3 装配集合 34 2.3.4 装配空值 38 2.4 自动装配 38 2.4.1 四种自动装配类型 38 2.4.2 混合使用自动和手动装配 41 2.4.3 何时采用自动装配 41 2.5 控制Bean创建 42 2.5.1 Bean范围化 42 2.5.2 利用工厂方法来创建Bean 43 2.5.3 初始化和销毁Bean 44 2.6 小结 46 第3章 高级Bean装配 47 3.1 声明父Bean和子Bean 47 3.1.1 抽象基Bean类型 48 3.1.2 抽象共同属性 49 3.2 方法注入 51 3.2.1 基本的方法替换 51 3.2.2 获取器注入 54 3.3 注入非Spring Bean 55 3.4 注册自定义属性编辑器 57 3.5 使用Spring的特殊Bean 60 3.5.1 后处理Bean 60 3.5.2 Bean工厂的后处理 62 3.5.3 配置属性的外在化 63 3.5.4 提取文本消息 65 3.5.5 程序事件的解耦 66 3.5.6 让Bean了解容器 68 3.6 脚本化的Bean 70 3.6.1 给椰子上Lime 70 3.6.2 脚本化Bean 71 3.6.3 注入脚本化Bean的属性 73 3.6.4 刷新脚本化Bean 74 3.6.5 编写内嵌的脚本化Bean 74 3.7 小结 75 第4章 通知Bean 76 4.1 AOP简介 77 4.1.1 定义AOP术语 77 4.1.2 Spring对AOP的支持 79 4.2 创建典型的Spring切面 80 4.2.1 创建通知 82 4.2.2 定义切点和通知者 86 4.2.3 使用ProxyFactoryBean 88 4.3 自动代理 90 4.3.1 为Spring切面创建自动代理 91 4.3.2 自动代理@AspectJ切面 92 4.4 定义纯粹的POJO切面 94 4.5 注入AspectJ切面 97 4.6 小结 100 第二部分 企业Spring 第5章 使用数据库 103 5.1 Spring的数据访问哲学 104 5.1.1 了解Spring数据访问的异常体系 104 5.1.2 数据访问的模板化 106 5.1.3 使用DAO支持类 107 5.2 配置数据源 108 5.2.1 使用JNDI数据源 108 5.2.2 使用数据源连接池 109 5.2.3 基于JDBC驱动的数据源 110 5.3 在Spring里使用JDBC 111 5.3.1 处理失控的JDBC代码 111 5.3.2 使用JDBC模板 114 5.3.3 使用Spring对JDBC的DAO支持类 119 5.4 在Spring里集成Hibernate 121 5.4.1 选择Hibernate的版本 122 5.4.2 使用Hibernate模板 122 5.4.3 建立基于Hibernate的DAO 125 5.4.4 使用Hibernate 3上下文会话 126 5.5 Spring和Java持久API 128 5.5.1 使用JPA模板 128 5.5.2 创建一个实体管理器工厂 130 5.5.3 建立使用JPA的DAO 133 5.6 Spring和iBATIS 134 5.6.1 配置iBATIS客户模板 134 5.6.2 建立基于iBATIS的DAO 137 5.7 缓存 138 5.7.1 配置缓存方案 139 5.7.2 缓存的代理Bean 142 5.7.3 注解驱动的缓存 143 5.8 小结 144 第6章 事务管理 146 6.1 理解事务 147 6.1.1 仅用4个词解释事务 147 6.1.2 理解Spring对事务管理的支持 148 6.2 选择事务管理器 149 6.2.1 JDBC事务 150 6.2.2 Hibernate事务 150 6.2.3 JPA事务 150 6.2.4 JDO事务 151 6.2.5 JTA事务 152 6.3 在Spring中编写事务 152 6.4 声明式事务 154 6.4.1 定义事务参数 155 6.4.2 代理事务 157 6.4.3 在Spring 2.0里声明事务 160 6.4.4 定义注释驱动事务 162 6.5 小结 163 第7章 保护Spring 164 7.1 Spring Security介绍 165 7.2 验证用户身份 167 7.2.1 配置Provider Manager 168 7.2.2 根据数据库验证身份 169 7.2.3 根据LDAP仓库进行身份验证 175 7.3 控制访问 180 7.3.1 访问决策投票 181 7.3.2 决定如何投票 181 7.3.3 处理投票弃权 183 7.4 保护Web应用程序 183 7.4.1 代理Spring Security的过滤器 185 7.4.2 处理安全上下文 190 7.4.3 提示用户登录 190 7.4.4 处理安全例外 194 7.4.5 强制Web安全性 195 7.4.6 确保一个安全的通道 196 7.5 视图层安全 198 7.5.1 有条件地渲染内容 199 7.5.2 显示用户身份验证信息 200 7.6 保护方法调用 200 7.6.1 创建一个安全切面 201 7.6.2 使用元数据保护方法 202 7.7 小结 203 第8章 Spring和基于POJO的远程服务 204 8.1 Spring远程调用概览 204 8.2 与RMI一起工作 206 8.2.1 连接RMI服务 207 8.2.2 输出RMI服务 208 8.3 使用Hessian和Burlap的远程调用 211 8.3.1 访问Hessian/Burlap服务 211 8.3.2 用Hessian或Burlap公开Bean的功能 212 8.4 使用HTTP invoker 215 8.4.1 通过HTTP访问服务 215 8.4.2 把Bean作为HTTP服务公开 216 8.5 Spring和Web服务 218 8.5.1 使用XFire将Bean输出为Web服务 218 8.5.2 使用JSR-181注释声明Web服务 221 8.5.3 消费Web服务 223 8.5.4 使用XFire客户端代理Web服务 228 8.6 小结 229 第9章 在Spring中建立契约优先Web服务 230 9.1 介绍Spring-WS 231 9.2 定义契约(首先!) 232 9.3 使用服务端点处理消息 236 9.3.1 建立基于JDOM消息的端点 237 9.3.2 序列化消息载荷 239 9.4 合并在一起 242 9.4.1 Spring-WS:全景视图 242 9.4.2 将消息映射到端点 243 9.4.3 置入服务端点 244 9.4.4 配置消息序列化器 244 9.4.5 处理端点异常 246 9.4.6 提供WSDL文件 248 9.4.7 部署服务 250 9.5 消费Spring-WS Web服务 250 9.5.1 使用Web服务模板 251 9.5.2 使用Web服务的网关支持 256 9.6 小结 257 第10章 Spring消息 259 10.1 JMS简介 260 10.1.1 构建JMS 260 10.1.2 介绍JMS的优点 262 10.1.3 在Spring中安装ActiveMQ 263 10.2 协同使用JMS和Spring 264 10.2.1 处理冗长失控的JMS代码 264 10.2.2 使用JMS模板 266 10.2.3 转换消息 271 10.2.4 将Spring的网关支持类应用于JMS 273 10.3 创建消息驱动POJO 274 10.3.1 创建消息监听器 275 10.3.2 编写纯POJO MDP 278 10.4 使用基于消息的RPC 281 10.4.1 引入Lingo 281 10.4.2 输出服务 282 10.4.3 代理JMS 283 10.5 小结 285 第11章 Spring和EJB 286 11.1 在Spring中置入EJB 287 11.1.1 代理会话Bean(EJB 2.x) 288 11.1.2 将EJB置入Spring Bean 291 11.2 开发Spring驱动的EJB(EJB 2.x) 291 11.3 Spring和EJB3 293 11.3.1 引入Pitchfork 294 11.3.2 从Pitchfork起步 294 11.3.3 通过注释注入资源 295 11.3.4 使用注释声明拦截器 296 11.4 小结 297 第12章 访问企业服务 298 12.1 从JNDI中获取对象 298 12.1.1 使用传统的JNDI 299 12.1.2 注入JNDI对象 301 12.1.3 在Spring 2中注入JNDI对象 303 12.2 发送电子邮件 304 12.2.1 配置邮件发送器 304 12.2.2 构建电子邮件 306 12.3 调度任务 308 12.3.1 使用Java Timer调度任务 309 12.3.2 使用Quartz调度器 311 12.3.3 按调度计划调用方法 314 12.4 使用JMX管理Spring Bean 315 12.4.1 将Spring Bean输出为MBean 316 12.4.2 远程访问MBean 323 12.4.3 处理通知 326 12.5 小结 328 第三部分 Spring客户端 第13章 处理Web请求 330 13.1 开始Spring MVC之旅 330 13.1.1 请求生命中的一天 331 13.1.2 配置DispatcherServlet 332 13.1.3 Spring MVC概述 334 13.2 将请求映射到控制器 338 13.2.1 使用SimpleUrlHandler Mapping 339 13.2.2 使用ControllerClassName HandlerMapping 339 13.2.3 使用元数据映射控制器 340 13.2.4 使用多映射处理器 341 13.3 用控制器处理请求 341 13.3.1 处理命令 343 13.3.2 处理表单提交 345 13.3.3 用向导处理复杂表单 351 13.3.4 使用一次性控制器 357 13.4 处理异常 359 13.5 小结 359 第14章 渲染Web视图 361 14.1 视图解析 361 14.1.1 使用模板视图 362 14.1.2 解析视图Bean 364 14.1.3 选择视图解析器 365 14.2 使用Spring模板 367 14.2.1 绑定表单数据 367 14.2.2 渲染被存储在外部的文本 368 14.2.3 显示错误 370 14.3 使用Tile设计页面布局 372 14.3.1 Tile视图 372 14.3.2 Tile控制器 375 14.4 使用JSP的替代技术 377 14.4.1 使用Velocity模板 377 14.4.2 使用FreeMarker 382 14.5 产生非HTML输出 386 14.5.1 产生Excel工作表 386 14.5.2 产生PDF文档 389 14.5.3 开发自定义视图 391 14.6 小结 393 第15章 使用Spring Web Flow 395 15.1 开始Spring Web Flow之旅 396 15.1.1 安装Spring Web Flow 397 15.1.2 配置流程执行程序 399 15.1.3 登记流程定义 400 15.2 布置流程的基础 402 15.2.1 流程变量 403 15.2.2 start和end状态 404 15.2.3 搜集顾客信息 405 15.2.4 绑定比萨饼订单 410 15.2.5 完成订单 412 15.2.6 几个结束工作 414 15.3 高级Web流程技术 417 15.3.1 使用decision状态 418 15.3.2 提炼子流程并使用子状态 419 15.4 集成Spring Web Flow与其他框架 422 15.4.1 Jakarts Struts 423 15.4.2 JavaServer Face 424 15.5 小结 425 第16章 集成其他Web框架 426 16.1 协同使用Spring和Struts 426 16.1.1 向Struts注册Spring插件 428 16.1.2 编写知晓Spring的Struts动作 428 16.1.3 委托Spring配置的动作 430 16.1.4 关于Struts 2 432 16.2 协同使用Spring和WebWork 2/Struts 2 432 16.3 集成Spring和Tapestry 435 16.3.1 集成Spring和Tapestry 3 435 16.3.2 集成Spring和Tapestry 4 438 16.4 协同使用Spring和JSF 440 16.4.1 解析JSF管理的属性 440 16.4.2 解析Spring Bean 442 16.4.3 在JSF页面中使用Spring Bean 442 16.4.4 在JSF中暴露应用程序环境 443 16.5 Spring中带有DWR的支持Ajax的应用程序 444 16.5.1 直接Web远程控制 445 16.5.2 访问Spring管理的Bean DWR 451 16.6 小结 455 附录A 装配Spring 456 A.1 下载Spring 456 A.1.1 研究Spring发布 456 A.1.2 构建自己的类路径 457 A.2 把Spring添加为一个Maven 2依赖项 459 A.3 Spring与Ant 461 A.4 Spring与Log4j 462 附录B 用(和不用)Spring进行测试 464 B.1 测试简介 464 B.1.1 理解不同类型的测试 465 B.1.2 使用JUnit 465 B.1.3 Spring在测试中的角色 468 B.2 单元测试Spring MVC控制器 468 B.2.1 模拟对象 470 B.2.2 断言ModelAndView的内容 472 B.3 使用Spring进行综合测试 474 B.3.1 测试装配后的对象 475 B.3.2 综合测试事务处理对象 477 B.3.3 测试数据库 479 B.3.4 使用Gienah Testing在JUnit 4中进行测试 481 B.4 小结 483 |