{{sellerTotalView > 1 ? __("sellers", {number: sellerTotalView}) : __("seller", {number: sellerTotalView}) }}, {{numTotalView > 1 ? __("items", {number: numTotalView}) : __("item", {number: numTotalView}) }}
免运费
Yami

Nickname

请告诉我们怎么更好地称呼你

更新你的名字
账户 订单 收藏
{{ inviteNavTitle }}
退出登录

切换配送区域

不同区域的库存和配送时效可能存在差异.

历史邮编

{{email ? __('Got it!') : __('Restock Alert')}}

我们将在商品到货后第一时间通知你。

取消
Yami

京东图书

Spring3.x企业应用开发实战(附光盘)

{{buttonTypePin == 3 ? __("Scan to view more PinGo") : __("Scan to start")}}

Spring3.x企业应用开发实战(附光盘)

{{__(":people-members", {'people': item.limit_people_count})}} {{ itemCurrency }}{{ item.valid_price }} {{ itemCurrency }}{{ item.invalid_price }} {{ itemDiscount }}
后结束
{{ itemCurrency }}{{ item.valid_price }}
{{ itemCurrency }}{{ priceFormat(item.valid_price / item.bundle_specification) }}/{{ item.unit }}
{{ itemDiscount }}
{{ itemCurrency }}{{ item.valid_price }} {{ itemCurrency }}{{ priceFormat(item.valid_price / item.bundle_specification) }}/{{ item.unit }} {{ itemCurrency }}{{ item.invalid_price }} {{itemDiscount}}
{{ itemCurrency }}{{ item.valid_price }}
后结束促销
后开始秒杀 后结束秒杀
{{ getSeckillDesc(item.seckill_data) }}
{{ __( "Pay with Gift Card to get sale price: :itemCurrency:price", { 'itemCurrency' : itemCurrency, 'price' : (item.giftcard_price ? priceFormat(item.giftcard_price) : '0.00') } ) }} ({{ itemCurrency }}{{ priceFormat(item.giftcard_price / item.bundle_specification) }}/{{ item.unit }}) 详情
商品有效期

已下架

当前地址无法配送
已售完

商品描述

展开全部描述
编辑推荐

揭示内幕、深入浅出
同步更新、与时俱进
突出重点,淡化边缘
理论透彻、面向实践
代码简洁、图例丰富
注重趣味、轻松阅读
相关知识、一网打尽
历时一载、倾力打造

内容简介

Spring 3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域开源平台的翘楚地位。
Spring 3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架、REST风格的Web编程模型等。这些新功能实用性强、易用性高,可大幅降低Java应用,特别是Java Web应用开发的难度,同时有效提升应用开发的优雅性。
《Spring3.x企业应用开发实战》是在《精通Spring 2.x——企业应用开发详解》的基础上,经过历时一年的重大调整改版而成的,本书延续了上一版本追求深度,注重原理,不停留在技术表面的写作风格,力求使读者在熟练使用Spring的各项功能的同时,还能透彻理解Spring的内部实现,真正做到知其然知其所以然。此外,本书重点突出了“实战性”的主题,力求使全书“从实际项目中来,到实际项目中去”。
目录

第1篇 概述
第1章 Spring概述
1.1 认识Spring
1.2 关于SpringSource
1.3 Spring带给我们什么
1.4 Spring体系结构
1.5 Spring 3.0的新功能
1.5.1 核心API更新到Java 5.
1.5.2 Spring表达式语言
1.5.3 可通过Java类提供IoC配置信息
1.5.4 通用类型转换系统和属性格式化系统
1.5.5 数据访问层新增OXM功能
1.5.6 Web层的增强
1.5.7 其他
1.6 Spring对Java版本的要求
1.7 如何获取Spring
1.8 小结
第2章 快速入门
2.1 实例功能概述
2.1.1 比Hello World更适用的实例
2.1.2 实例功能简介
2.2 环境准备
2.2.1 创建库表
2.2.2 建立工程
2.2.3 类包及Spring配置文件规划
2.3 持久层
2.3.1 建立领域对象
2.3.2 UserDao
2.3.3 LoginLogDao
2.3.4 在Spring中装配DAO
2.4 业务层
2.4.1 UserService
2.4.2 在Spring中装配Service
2.4.3 单元测试
2.5 展现层
2.5.1 配置Spring MVC框架
2.5.2 处理登录请求
2.5.3 JSP视图页面
2.6 运行Web应用
2.7 小结

第2篇 IoC和AOP
第3章 IoC容器概述
3.1 IoC概述
3.1.1 通过实例理解IoC的概念
3.1.2 IoC的类型
3.1.3 通过容器完成依赖关系的注入
3.2 相关Java基础知识
3.2.1 简单实例
3.2.2 类装载器ClassLoader
3.2.3 Java反射机制
3.3 资源访问利器
3.3.1 资源抽象接口
3.3.2 资源加载
3.4 BeanFactory和ApplicationContext
3.4.1 BeanFactory介绍
3.4.2 ApplicationContext介绍
3.4.3 父子容器
3.5 Bean的生命周期
3.5.1 BeanFactory中Bean的生命周期
3.5.2 ApplicationContext中Bean的生命周期
3.6 小结
第4章 在IoC容器中装配Bean
4.1 Spring配置概述
4.1.1 Spring容器高层视图
4.1.2 基于XML的配置
4.2 Bean基本配置
4.2.1 装配一个Bean
4.2.2 Bean的命名
4.3 依赖注入
4.3.1 属性注入
4.3.2 构造函数注入
4.3.3 工厂方法注入
4.3.4 选择注入方式的考量
4.4 注入参数详解
4.4.1 字面值
4.4.2 引用其他Bean
4.4.3 内部Bean
4.4.4 null值
4.4.5 级联属性
4.4.6 集合类型属性
4.4.7 简化配置方式
4.4.8 自动装配
4.5 方法注入
4.5.1 lookup方法注入
4.5.2 方法替换
4.6 <bean>之间的关系
4.6.1 继承
4.6.2 依赖
4.6.3 引用
4.7 整合多个配置文件
4.8 Bean作用域
4.8.1 singleton作用域
4.8.2 prototype作用域
4.8.3 Web应用环境相关的Bean作用域
4.8.4 作用域依赖问题
4.9 FactoryBean
4.10 基于注解的配置
4.10.1 使用注解定义Bean
4.10.2 使用注解配置信息启动Spring容器
4.10.3 自动装配Bean
4.10.4 Bean作用范围及生命过程方法
4.11 基于Java类的配置
4.11.1 使用Java类提供Bean定义信息
4.11.2 使用基于Java类的配置信息启动Spring容器
4.12 不同配置方式比较
4.13 小结
第5章 Spring容器高级主题
5.1 Spring容器技术内幕
5.1.1 内部工作机制
5.1.2 BeanDefinition
5.1.3 InstantiationStrategy
5.1.4 BeanWrapper
5.2 属性编辑器
5.2.1 JavaBean的编辑器
5.2.2 Spring默认属性编辑器
5.2.3 自定义属性编辑器
5.3 使用外部属性文件
5.3.1 使用外部属性文件
5.3.2 使用加密的属性文件
5.3.3 属性文件自身的引用
5.4 引用Bean的属性值
5.5 国际化信息
5.5.1 基础知识
5.5.2 MessageSource
5.5.3 容器级的国际化信息资源
5.6 容器事件
5.6.1 Spring事件类结构
5.6.2 解构Spring事件体系的具体实现
5.6.3 一个实例
5.7 小结
第6章 Spring AOP基础
6.1 AOP概述
6.1.1 AOP到底是什么
6.1.2 AOP术语
6.1.3 AOP的实现者
6.2 基础知识
6.2.1 带有横切逻辑的实例
6.2.2 JDK动态代理
6.2.3 CGLib动态代理
6.2.4 AOP联盟
6.2.5 代理知识小结
6.3 创建增强类
6.3.1 增强类型
6.3.2 前置增强
6.3.3 后置增强
6.3.4 环绕增强
6.3.5 异常抛出增强
6.3.6 引介增强
6.4 创建切面
6.4.1 切点类型
6.4.2 切面类型
6.4.3 静态普通方法名匹配切面
6.4.4 静态正则表达式方法匹配切面
6.4.5 动态切面
6.4.6 流程切面
6.4.7 复合切点切面
6.4.8 引介切面
6.5 自动创建代理
6.5.1 实现类介绍
6.5.2 BeanNameAutoProxyCreator
6.5.3 DefaultAdvisorAutoProxyCreator
6.6 小结
第7章 基于@AspectJ和Schema的AOP
7.1 Spring对AOP的支持
7.2 JDK 5.0注解知识快速进阶
7.2.1 了解注解
7.2.2 一个简单的注解类
7.2.3 使用注解
7.2.4 访问注解
7.3 着手使用@AspectJ
7.3.1 使用前的准备
7.3.2 一个简单的例子
7.3.3 如何通过配置使用@AspectJ切面
7.4 @AspectJ语法基础
7.4.1 切点表达式函数
7.4.2 在函数入参中使用通配符
7.4.3 逻辑运算符
7.4.4 不同增强类型
7.4.5 引介增强用法
7.5 切点函数详解
7.5.1 @annotation()
7.5.2 execution()
7.5.3 args()和@args()
7.5.4 within()
7.5.5 @within()和@target()
7.5.6 target()的this()
7.6 @AspectJ进阶
7.6.1 切点复合运算
7.6.2 命名切点
7.6.3 增强织入的顺序
7.6.4 访问连接点信息
7.6.5 绑定连接点方法入参
7.6.6 绑定代理对象
7.6.7 绑定类注解对象
7.6.8 绑定返回值
7.6.9 绑定抛出的异常
7.7 基于Schema配置切面
7.7.1 一个简单切面的配置
7.7.2 配置命名切点
7.7.3 各种增强类型的配置
7.7.4 绑定连接点信息
7.7.5 Advisor配置
7.8 混合切面类型
7.8.1 混合使用各种切面类型
7.8.2 各种切面类型总结
7.9 JVM Class文件字节码转换基础知识
7.9.1 java.lang.instrument包的工作原理
7.9.2 如何向JVM中注册转换器
7.9.3 使用JVM启动参数注册转换器的问题
7.10 使用LTW织入切面
7.10.1 Spring的LoadTimeWeaver
7.10.2 使用LTW织入一个切面
7.10.3 在Tomcat下的配置
7.10.4 在其他Web应用服务器下的配置
7.11 小结

第3篇 数据访问
第8章 Spring对DAO的支持
8.1 Spring的DAO理念
8.2 统一的异常体系
8.2.1 Spring的DAO异常体系
8.2.2 JDBC的异常转换器
8.2.3 其他持久技术的异常转换器
8.3 统一数据访问模板
8.3.1 使用模板和回调机制
8.3.2 Spring为不同持久化技术所提供的模板类
8.4 数据源
8.4.1 配置一个数据源
8.4.2 获取JNDI数据源
8.4.3 Spring的数据源实现类
8.5 小结
第9章 Spring的事务管理
9.1 数据库事务基础知识
9.1.1 何为数据库事务
9.1.2 数据并发的问题
9.1.3 数据库锁机制
9.1.4 事务隔离级别
9.1.5 JDBC对事务支持
9.2 ThreadLocal基础知识
9.2.1 ThreadLocal是什么
9.2.2 ThreadLocal的接口方法
9.2.3 一个TheadLocal实例
9.2.4 与Thread同步机制的比较
9.2.5 Spring使用ThreadLocal解决线程安全问题
9.3 Spring对事务管理的支持
9.3.1 事务管理关键抽象
9.3.2 Spring的事务管理器实现类
9.3.3 事务同步管理器
9.3.4 事务传播行为
9.4 编程式的事务管理
9.5 使用XML配置声明式事务
9.5.1 一个将被实施事务增强的服务接口
9.5.2 使用原始的
TransactionProxyFactoryBean
9.5.3 基于tx/aop命名空间的配置
9.6 使用注解配置声明式事务
9.6.1 使用@Transactional注解
9.6.2 通过AspectJ LTW引入事务切面
9.7 集成特定的应用服务器
9.7.1 BEA WebLogic
9.7.2 BEA WebLogic
9.8 小结
第10章 Spring的事务管理难点剖析
10.1 DAO和事务管理的牵绊
10.1.1 JDBC访问数据库
10.1.2 Hibernate访问数据库
10.2 应用分层的迷惑
10.3 事务方法嵌套调用的迷茫
10.3.1 Spring事务传播机制回顾
10.3.2 相互嵌套的服务方法
10.4 多线程的困惑
10.4.1 Spring通过单实例化Bean简化多线程问题
10.4.2 启动独立线程调用事务方法
10.5 联合军种作战的混乱
10.5.1 Spring事务管理器的应对
10.5.2 Hibernate+Spring JDBC混合框架的事务管理
10.6 特殊方法成漏网之鱼
10.6.1 哪些方法不能实施Spring AOP事务
10.6.2 事务增强遗漏实例
10.7 数据连接泄漏
10.7.1 底层连接资源的访问问题
10.7.2 Spring JDBC数据连接泄漏
10.7.3 通过DataSourceUtils获取数据连接
10.7.4 通过DataSourceUtils获取数据连接
10.7.5 JdbcTemplate如何做到对连接泄漏的免疫
10.7.6 使用TransactionAwareDataSourceProxy
10.7.7 其他数据访问技术的等价类
10.8 小结
第11章 使用Spring JDBC访问数据库
11.1 使用Spring JDBC
11.1.1 JDBCTemplate小试牛刀
11.1.2 在DAO中使用JDBCTemplate
11.2 基本的数据操作
11.2.1 更改数据
11.2.2 返回数据库的表自增主键值
11.2.3 批量更改数据
11.2.4 查询数据
11.2.5 查询单值数据
11.2.6 调用存储过程
11.3 BLOB/CLOB类型数据的操作
11.3.1 如何获取本地数据连接
11.3.2 相关的操作接口
11.3.3 插入Lob类型的数据
11.3.4 以块数据方式读取Lob数据
11.3.5 以流数据方式读取Lob数据
11.4 自增键和行集
11.4.1 自增键的使用
11.4.2 如何规划主键方案
11.4.3 以行集返回数据
11.5 其他类型的JDBCTemplate
11.5.1 NamedParameterJDBCTemplate
11.5.2 SimpleJDBCTemplate
11.6 以OO方式访问数据库
11.6.1 使用MappingSqlQuery查询数据
11.6.2 使用SqlUpdate更新数据
11.6.3 使用StoredProcedure执行存储过程
11.6.4 SqlFunction类
11.7 小结
第12章 整合其他ORM框架
12.1 Spring整合ORM技术
12.2 在Spring中使用Hibernate
12.2.1 配置SessionFactory
12.2.2 使用HibernateTemplate
12.2.3 处理LOB类型数据
12.2.4 添加Hibernate事件监听器
12.2.5 使用原生Hibernate API
12.2.6 使用注解配置
12.2.7 事务处理
12.2.8 延迟加载的问题
12.3 在Spring中使用myBatis
12.3.1 配置SqlMapClient
12.3.2 在Spring配置myBatis
12.3.3 编写myBatis的DAO
12.5 DAO层设计
12.5.1 DAO基类的设计
12.5.2 查询接口方法的设计
12.5.3 分页查询接口设计
12.6 小结

第4篇 业务层及Web层技术
第13章 任务调度和异步执行器
13.1 任务调度概述
13.2 Quartz快速进阶
13.2.1 Quartz基础结构
13.2.2 使用SimpleTrigger
13.2.3 使用CronTrigger
13.2.4 使用Calendar
13.2.5 任务调度信息存储
13.3 在Spring中使用Quartz
13.3.1 创建JobDetail
13.3.2 创建Trigger
13.3.3 创建Scheduler
13.4 Spring中使用JDK Timer
13.4.1 Timer和TimerTask
13.4.2 Spring对JDK Timer的支持
13.5 Spring对JDK 5.0 Executor的支持
13.5.1 了解JDK 5.0的Executor
13.5.2 Spring对Executor所提供的抽象
13.6 实际应用中的任务调度
13.6.1 如何产生任务
13.6.2 任务调度对应用程序集群的影响
13.6.3 任务调度云
13.6.4 Web应用程序中调度器的启动和关闭问题
13.7 小结
第14章 使用OXM进行对象XML映射
14.1 认识XML解析技术
14.1.1 什么是XML
14.1.2 XML的处理技术
14.2 XML处理利器:XStream
14.2.1 XStream概述
14.2.2 快速入门
14.2.3 使用XStream别名
14.2.4 XStream转换器
14.2.5 XStream注解
14.2.6 流化对象
14.2.7 持久化API
14.2.8 额外功能:处理JSON
14.3 其他常见O/X Mapping开源项目
14.3.1 JAXB
14.3.2 XMLBeans
14.3.3 Castor
14.3.4 JiBX
14.3.5 总结比较
14.4 与Spring OXM整合
14.4.1 Spring OXM概述
14.4.2 整合OXM实现者
14.4.3 如何在Spring中进行配置
14.4.4 Spring OXM 简单实例
14.5 小结
第15章 Spring MVC
15.1 Spring MVC概述
15.1.1 体系结构
15.1.2 配置DispatcherServlet
15.1.3 一个简单的实例
15.2 注解驱动的控制器
15.2.1 使用@RequestMapping映射请求
15.2.2 请求处理方法签名概述
15.2.3 处理方法签名详细说明
15.2.4 使用HttpMessageConverter<T>
15.2.5 处理模型数据
15.3 处理方法的数据绑定
15.3.1 数据绑定流程剖析
15.3.2 数据转换
15.3.3 数据格式化
15.3.4 数据校验
15.4 视图和视图解析器
15.4.1 认识视图
15.4.2 认识视图解析器
15.4.3 JSP和JSTL
15.4.4 模板视图
15.4.5 Excel
15.4.6 PDF
15.4.7 输出XML
15.4.8 输出JSON
15.4.9 使用XmlViewResolver
15.4.10 使用ResourceBundle ViewResolver
15.4.11 混合使用多种视图技术
15.5 本地化解析
15.5.1 本地化概述
15.5.2 使用CookieLocaleResolver
15.5.3 使用SessionLocaleResolver
15.5.4 使用LocaleChangeInterceptor
15.6 文件上传
15.6.1 配置MultipartResolver
15.6.2 编写控制器和文件上传表单页面
15.7 杂项
15.7.1 静态资源处理
15.7.2 装配拦截器
15.7.3 异常处理
15.8 小结

第5篇 测试及实战
第16章 实战型单元测试
16.1 单元测试概述
16.1.1 为什么需要单元测试
16.1.2 单元测试之误解
16.1.3 单元测试之困境
16.1.4 单元测试基本概念
16.2 JUnit 4快速进阶
16.2.1 JUnit 4概述
16.2.2 JUnit 4生命周期
16.2.3 使用JUnit
16.3 模拟利器Mockito
16.3.1 模拟测试概述
16.3.2 创建Mock对象
16.3.3 设定Mock对象的期望行为及返回值
16.3.4 验证交互行为
16.4 测试整合之王Unitils
16.4.1 Unitils概述
16.4.2 集成Spring
16.4.3 集成Hibernate
16.4.4 集成Dbunit
16.4.5 自定义扩展模块
16.5 使用Unitils测试DAO层
16.5.1 数据库测试的难点
16.5.2 扩展Dbunit用Excel准备数据
16.5.3 测试实战
16.6 使用unitils测试Service层
16.7 测试Web层
16.7.1 对LoginController进行单元测试
16.7.2 使用Spring Servlet API模拟对象
16.7.3 使用Spring RestTemplate测试
16.7.4 使用Selenium测试
16.8 小结
第17章 实战案例开发
17.1 论坛案例概述
17.1.1 论坛整体功能结构
17.1.2 论坛用例描述
17.1.3 主要功能流程描述
17.2 系统设计
17.2.1 技术框架选择
17.2.2 Web目录结构及类包结构规划
17.2.3 单元测试类包结构规划
17.2.4 系统的结构图
17.2.5 PO的类设计
17.2.6 持久层设计
17.2.7 服务层设计
17.2.8 Web层设计
17.2.9 数据库设计
17.3 开发前的准备
17.4 持久层开发
17.4.1 PO类
17.4.2 DAO基类
17.4.3 通过扩展基类所定义DAO类
17.4.4 DAO Bean的装配
17.4.5 使用Hibernate二级缓存
17.5 对持久层进行测试
17.5.1 配置Unitils测试环境
17.5.2 准备测试数据库及测试数据
17.5.3 编写DAO测试基类
17.5.4 编写BoardDao测试用例
17.6 服务层开发
17.6.1 UserService的开发
17.6.2 ForumService的开发
17.6.3 服务类Bean的装配
17.7 对服务层进行测试
17.7.1 编写Service测试基类
17.7.2 编写ForumService测试用例
17.8 Web层开发
17.8.1 BaseController的基类
17.8.2 用户登录和注销
17.8.3 用户注册
17.8.4 论坛管理
17.8.5 论坛普通功能
17.8.6 分页显示论坛版块的主题帖子
17.8.7 web.xml配置
17.8.8 Spring MVC配置
17.9 对Web层进行测试
17.9.1 编写Web测试基类
17.9.2 编写ForumManageController测试用例
17.10 部署和运行应用
17.11 小结
以下内容详见本书配书光盘:
附录A JavaMail发送邮件
附录B 在Spring中开发Web Service
精彩书摘

12.1Spring整合ORM技术
Spring的开放性和扩展性在持久化技术领域得到了充分的证明,Spring不但直接提供了SpringJDBC,还整合了JPA、Hibernate、iBatis、JDO等ORM领域的代表者。使用者完全可以根据需要作出适合自己的选择。
在第11章中,我们详细讲解了Spring对JDBC的API的封装,其中大部分的思路和整合其他ORM框架是一脉相通的:在资源管理、DAO模板类、事务管理、DAO异常体系等方面,Spring始终保持整合方式上的统一。在Spring中掌握了一种持久化技术后,切换到另一种持久化技术并不需要花费什么代价。
Spring在集成ORM框架时,始终走民主亲民的路线。它既提供了方便的模板类对原ORM进行简化封装,以一种更具Spring的风格使用ORM技术。同时,在保证继续享受Spring通用功能的情况下,开发者还可能使用ORM框架原生的API编写程序。这让一直使用ORM原生API编程的开发者感到自然,不会存在过渡上的障碍。
当我们使用某种ORM框架时,为了让其更适合项目的需要,降低使用难度,一般情况下,都会在原有ORMAPI的基础上编写一套封装类。Spring高屋建瓴地为我们做了类似的工作,所以在决定花费力气并冒着风险去构造类似的底层架构之前,最好事先参考一下Spring的解决方案,而不要急着另起炉灶。
使用Spring所提供的ORM整合方案,我们可以获得许多好处。
方便基础设施的搭建
不同的ORM技术都有一套自己的方案以初始化框架、搭建基础设施等。在搭建基础设施中,数据源是不可或缺的资源,不同ORM框架的实现方式各不相同:如JPA中通过persistence.xml定义数据源,而Hibernate在hibernate.cfg.xml中配置数据源,目的相同但方法迥异。在数据源基础上,不同的ORM框架拥有自己的基础实例,如Hibernate的SessionFactory、iBatis的SqlMapClient,它们是ORM程序运行时的底层设施,在程序级别代表着ORM框架本身。在学习不同的ORM框架知识时,往往都会有一个独立的篇章专门讲解如何初始化这些实例。在Spring中对于不同的ORM框架,首先,始终可以采用相同方式配置数据源:其次,Spring为不同的ORM框架提供相应的FactoryBean,用以初始化ORM框架的基础设施,可以将它们当成普通Bean对待,唯一的差别只是属性的不同而已。
……
前言/序言

【前言】
Spring为Java世界带来了一场震撼性的技术革新,它颠覆了传统Java应用开发笨重的方式,影响和正在影响着Java开发者思考问题的方法。从2004年发布第一个版本以来,Spring逐渐占据了Java开发人员的视线,博得了开源社区一片赞誉之声,开源社区里“春”城无处不飞花。
在2006年发布Spring 2.0版本后,Spring的易用性,扩展性和整合性得到了充分的展示,越来越多Java开发者争先恐后地投奔到Spring平台中来,Spring已成为事实上的Java应用开发平台,成为Java一站式轻量级平台的无冕之王。
在历经长达3年的磨砺之后,2009年Spring 3.0横空出世,挟带着SpEL、OXM、REST、验证/格式化等众多令人惊艳的新功能再次掀起一场Spring的热潮。笔者在2007年曾撰写的拙作《精通Spring 2.x》已经显得昨日黄花,有感于读者朋友的青睐和出版社朋友的力促,一直希望能与时俱进将本书翻版更新,但囿于这两年工作繁忙且笔者又不希望草率应付,遂使心中夙愿沉积日久渐成心病。由于在可预知的未来皆难有大段空暇的时间,想起刘墉之创作《萤窗小语》都是掇拾繁忙之空隙集腋成裘,因此,笔者亦学习效仿之,利用节假日,周末等时间完成原版的改造,从2010年国庆开始到2011年国庆结束,历时已一年矣。
本次改版,不但将全书内容更新同步到Spring 3.0,还对原版内容进行了大面积的优化和调整。例如,对单元测试、WebService等内容进行了全新重写,对Spring事务管理各种疑难困惑详细剖析,此外还引入一章逼真再现一个实战性Web项目的开发全过程等。所有这些调整的目的都是希望在延续前版的“深入”的同时,能让本书更贴近于“实战”。
本书的特点
揭示内幕、深入浅出:笔者对Spring的源码进行了彻底的分析,深刻揭示了Spring框架的技术内幕,让读者知其然,更知其所以然。Spring中许多设计经验、技巧、模式具有很高的借鉴性,在透彻学习Spring体系结构的同时,读者可以直接将这些方法引借到具体的应用开发中。
同步更新、与时俱进:虽然在2009年9月就发布Spring 3.0第一个候选版本,后来又发布了多个RC版本,并最终于2011年10月发布了Spring 3.1的正式版本。新功能的添加以及旧功能的调整从来就没有停止过。笔者在本书写作过程中时刻关注Spring新版本功能的变化,并及时调整全书内容与其同步,保证全书内容与时俱进。
突出重点,淡化边缘:虽然全书洋洋洒洒近800页,便本书没有片面追求内容的面面俱到,相反,我们特别注意内容的剪裁和取舍。对于实用性强的知识点深入分析、深度挖掘,而对于不常使用的知识点到为止,甚至不纳入本书的范围。举例来说,我们对使用 Spring-WS开发基于Spring的Web Service应用、OXM、Spring MVC等这些实用性强的技术都进行了深入的分析,而对如何集成EJB、JMX、JCA等这些不常使用的功能完全不涉及。很好地做到了实用性和深入性二者的统一。
理论透彻、面向实践:本书在透彻分析原理、讲解技术知识点的同时,特别注意与实际应用的结合,笔者将自身丰富的实战经验糅合到全书的相关知识点上,很好地做到了知识讲解和实践经验的结合。让读者在掌握纯技术知识的同时,能够对如何活用技术做到胸有成竹。如笔者在第13章讲解任务调度的内容时,专门辟出13.6小节讲解实际应用中任务调度的使用经验;在第18章中讲述使用JavaMail发送电子邮件时,专门通过18.4小节讲述了在实际应用中发送邮件的各种注意事项。此外,我们还适时提供了“实战经验”的插文,它们在不影响上下文连贯性的同时让读者学习到了相关技术的实战经验。诸如此类以实际应用为导向的内容贯穿全书,这是本书区别于其他书籍特色之一。
代码简洁、图例丰富:全书的代码在排版布局以及内容的剪裁上颇费心思,实例代码重点关注当前知识点涉及的内容,弱化边缘代码,并采用特殊的排版方式适时添加简明扼要的注释,方便程序代码的阅读和重点内容的把握。全书拥有大量精美的图表,这些图表很好地解构了上下文中一些难点的知识,大大提高了阅读性,降低了理解的难度。
注重趣味、轻松阅读:由于技术书籍的严谨性、知识性的特点,阅读技术书籍往往是枯燥乏味的,更遑论趣味性。笔者对此深有感触,为寻求一些突破,我们在全书大部分章节都精心设计一个“轻松一刻”,它们和上下文内容存在某种程度的关联性,但其本身是一段趣味性的短文,它们在增强全书趣味性的同时,还为读者提供另外一个思考问题的角度。
相关知识、一网打尽:Spring不但本身涉及众多Java技术,其集成的第三方技术本身也涵盖了丰富的知识。我们在介绍Spring相关技术时,都会简明扼要地讲解相关联的基础知识,这包括JDK 5.0的新知识和被集成技术的知识,准备好知识背景,而不是完全脱离背景知识的情况下孤立讲解Spring的知识。
历时一载、倾力打造:本书从筹划到全书改版完成,历经近一年的时间,笔者充分利用所有可用的空闲时间,多次拖延完稿的计划,终于于2011年国庆才完成本书的所有稿件。
本书的结构
本书分为5大篇,其中第1篇为Spring概述性知识;第2篇讲解了Spring的IoC和AOP的知识;第3篇讲解Spring的各种数据访问技术的内容;第4篇讲解业务层和Web层的技术;第5篇讲解面向实践的单元测试及实战项目。由于篇幅所限,笔者将邮件发送及WebService的章节以电子文档的形式作为附件放到光盘中,请读者通过光盘进行阅读。
下面简要介绍一下每章的内容。
第1章:对Spring框架进行宏观性的概述,力图使读者建立起对Spring整体性的认识。
第2章:通过一个简单的例子展现开发Spring Web应用的整体过程,通过这个实例,读者可以快速跨入Spring Web应用的世界。
第3章:讲解Spring IoC容器的知识,通过具体的实例详细地讲解IoC概念。同时,对Spring框架的三个最重要的框架级接口进行了剖析,并对Bean的生命周期进行讲解。
第4章:讲解如何在Spring配置文件中使用Spring 3.0的Schema格式配置Bean的内容,并对各个配置项的意义进行了深入的说明。
第5章:对Spring容器进行解构,从内部探究Spring容器的体系结构和运行流程。此外,我们还将对Spring容器一些高级主题进行深入的阐述。
第6章:我们从Spring AOP的底层实现技术入手,一步步深入到Spring AOP的内核中,分析它的底层结构和具体实现。
第7章:对如何使用基于AspectJ配置AOP的知识进行了深入的分析,这包括使用XML Schema配置文件、使用注解进行配置等内容。
第8章:介绍了Spring所提供的DAO封装层,这包括Spring DAO的异常体系、数据访问模板等内容。
第9章:介绍了Spring事务管理的工作机制,通过XML、注解等方式进行事务管理配置,同时还讲解了JTA事务配置知识。
第10章:对实际应用中Spring事务管理各种疑难问题进行透彻的剖析,让读者对Spring事务管理不再有云遮雾罩的感觉。
第11章:讲解了如何使用Spring JDBC进行数据访问操作,我们还重点讲述了LOB字段处理、主键产生和获取等难点知识。
第12章:讲解了如何在Spring中集成Hibernate、myBatis等数据访问框架,同时,读者还将学习到ORM框架的混用和DAO层设计的知识。
第13章:本章重点对在Spring中如何使用Quartz进行任务调度进行了讲解,同时还涉及了使用JDK Timer和JDK 5.0执行器的知识。
第14章:介绍Spring 3.0新增的OXM模块,同时对XML技术进行了整体的了解。
第15章:对Spring MVC框架进行详细介绍,对REST风格编程方式进行重点讲解,同时还对Spring 3.0的校验和格式化框架如果和Spring MVC整合进行讲解。
第16章:有别于一般书籍的单元测试内容,本书以当前最具实战的JUnit4+Unitils+ Mockito复合测试框架对如何测试数据库、Web的应用进行了深入的讲解。
第17章:以一个实际的项目为蓝本,带领读者从项目需求分析、项目设计、代码开发、单元测试直到应用部署经历整个实际项目的整体开发过程。
如何使用本书
读者应该在机器上安装MyEclipse 8.5,并下载Spring 3.0的最新发布包,在机器上重现书中实例的开发过程。毕竟程序开发是实践性极强的工作,只有亲身体验才能掌握其真谛。
配套光盘拥有本书所有实例的代码,读者也可以在此基础上重复本书的实例的开发过程,省去重新录入代码之苦。
本书的插文
本书会适时加入一些提示、实战经验和轻松一刻的小段插文,在不打断行文的同时提供一些有益的开发经验、使用技巧并增强阅读的趣味性。这些插文都带有一个小图标加以突显,说明如下。
提示:在上下文中可能存在一些读者容易忽视或容易犯错的地方,在提示信息中给予针对性的帮助信息。
实战经验:笔者将多年的开发实战经验适时介绍给大家。这些知识往往是不能从一般的书籍或资料中获得的。本书会适时地在行文中将这些实战经验分享出来,相信可以使读者朋友少走一些弯路。
轻松一刻:为了增强技术书籍阅读的趣味性,全书每章几乎都有一到两个轻松一刻的短文,它们和上下文内容都存在某种程度的关联性,不但为阅读带来了趣味性,还可以启发读者的思考。
此外,由于Spring 3.x拥有多个版本,为了保持行文的简洁,除非特别指出,本书的Spring或Spring 3.0即代表当前最新的版本(Spring 3.1.x)。
陈雄华 厦门

规格参数

品牌 京东图书
品牌属地 中国
ISBN 9787121152139
著者 陈雄华,林开雄
出版社 电子工业出版社
印刷时间 2012-02-01
用纸 胶版纸
包装 平装
出版时间 2012-02-01
页数 710
版次 1

免责声明

产品价格、包装、规格等信息如有调整,恕不另行通知。我们尽量做到及时更新产品信息,但请以收到实物为准。使用产品前,请始终阅读产品随附的标签、警告及说明。

查看详情
加入收藏
{{ $isZh ? coupon.coupon_name_sub : coupon.coupon_ename_sub | formatCurrency }}
{{__("Buy Directly")}} {{ itemCurrency }}{{ item.directly_price }}
数量
{{ quantity }}
{{ instockMsg }}
{{ limitText }}
{{buttonTypePin == 3 ? __("Scan to view more PinGo") : __("Scan to start")}}
由 京东图书 销售
送至
{{ __("Ship to United States only") }}
满$69免运费
正品保证

已加入购物车

继续逛逛

为你推荐

{{ item.brand_name }}

{{ item.item_name }}

{{ item.currency }}{{ item.market_price }}

{{ item.currency }}{{ item.unit_price }}

{{ item.currency }}{{ item.unit_price }}

优惠券

{{ coupon.coupon_name_new | formatCurrency }}
领取 已领取 已领完
{{ getCouponDescStr(coupon) }}
{{ coupon.use_time_desc }}
即将过期: {{ formatTime(coupon.use_end_time) }}

分享给好友

取消

亚米礼卡专享价

使用礼卡支付即可获得礼卡专享价

规则说明

礼卡专享价是部分商品拥有的特殊优惠价格;

购买礼卡专享价商品时,若在结算时使用电子礼卡抵扣支付,且礼卡余额足够支付订单中所有礼卡专享价商品的专享价总和,则可以启用礼卡专享价;

不使用礼卡支付,或礼卡余额不满足上一条所述要求时,将无法启用礼卡专享价,按照普通售价计算,但您仍然可以购买这些商品;

在购买礼卡专享价商品时,若余额不足,可以在购物车或结算页中点击“充值”按钮对礼卡进行购买和充值;

商品若拥有礼卡专享价,会显示“专享”的特殊价格标记;

如有疑问,请随时联系客服;

礼卡专享价相关规则最终解释权归亚米所有。

由 亚米 销售

服务保障

Yami 满$49免运费
Yami 无忧退换
Yami 从美国发货

配送信息

  • 美国

    标准配送 $5.99(不包含阿拉斯加,夏威夷),最终价满$49免运费

    本地配送$5.99(加州,纽约州,新泽西,麻省和宾夕法尼亚,以上州部分地区);最终价满$49免运费

    两日达(包含阿拉斯加夏威夷)运费$19.99起

退换政策

亚米网希望为我们的客户提供最优秀的售后服务,让所有人都能放心在亚米购物。亚米自营商品在满足退换货条件的情况下,可在收到包裹的30天之内退换商品(食品因商品质量问题7天内可退换;为了确保每位客户都能获得安全和高质量的商品,对于美妆类产品,一经开封或使用即不提供退款或退货服务,质量问题除外;其他特殊商品需联系客服咨询)。
感谢您的理解和支持。

查看详情

由 亚米 销售

亚米电子礼品卡使用规则

若购买时选择自动充值,订单完成后礼卡将自动充值到您的账户中;

若购买时选择发送邮件,订单完成后系统将自动发送卡号和密码到您填写的邮箱;

发送邮件时,任何用户均可使用邮件中的卡号密码进行礼卡充值,请妥善保管邮件信息。

如接收邮件遇到问题,请联系客服处理;

发送邮件时,若礼卡没有被兑换,可以补发邮件。若已经被其他用户兑换,则无法补偿;

亚米网电子礼卡可用于购买自营或第三方商品;

亚米网电子礼卡没有有效期限制,长期有效;

亚米网电子礼卡的金额,可分多次使用;

亚米网电子礼卡业务规则,最终解释权归亚米网所有。

退换政策

已消费的电子礼卡不支持退款。

京东图书 销售

服务保障

Yami 满$49免运费
Yami 最优售后
Yami 美国本土发货

配送信息

  • 美国

    标准配送 $5.99(不包含阿拉斯加,夏威夷),最终价满$49免运费

    本地配送$5.99(加州,纽约州,新泽西,麻省和宾夕法尼亚,以上州部分地区);最终价满$49免运费

    两日达(包含阿拉斯加夏威夷)运费$19.99起

退换政策

提供30天内退还保障。产品需全新未使用原包装内,并附有购买凭据。产品质量问题、或错发漏发等,由商家造成的失误,将进行补发,或退款处理。其它原因需退货费用由客户自行承担。

由 京东图书 销售

服务保障

Yami 跨店满$69免运费
Yami 30天退换保障

亚米-中国集运仓

由亚米从中国精选并集合各大优秀店铺的商品至亚米中国整合中心,合并包裹后将一次合包跨国邮寄至您的地址。跨店铺包邮门槛低至$69。您将在多商家集合提供的广泛选品中选购商品,轻松享受跨店铺包邮后的低邮费。

退换政策

提供30天内退换保障。产品需在全新未使用的原包装内,并附有购买凭据。产品质量问题、错发、或漏发等由商家造成的失误,将进行退款处理。其它原因造成的退换货邮费客户将需要自行承担。由于所有商品均长途跋涉,偶有简易外包压磨等但不涉及内部质量问题者,不予退换。

配送信息

亚米中国集运 Consolidated Shipping 运费$9.99(订单满$69 包邮)

下单后2个工作日中国商家发货,所有包裹抵达亚米中国整合中心(除特别情况及中国境内个别法定节假日外)会合并包裹后通过UPS发往美国。UPS从中国发货后到美国境内的平均时间为10个工作日左右,根据直发单号可随时跟踪查询。受疫情影响,目前物流可能延迟5天左右。包裹需要客人签收。如未签收,客人须承担包裹丢失风险。

由 京东图书 销售

服务保障

满$69免运费
正品保证

配送信息

Yami Consolidated Shipping 运费$9.99(订单满$69包邮)


下单后1-2个工作日内发货。 物流时效预计7-15个工作日。 如遇清关,交货时间将延长3-7天。 最终收货日期以邮政公司信息为准。

积分规则

不参加任何折扣活动以及亚米会员积分制度。

退换政策

提供30天内退还保障。产品需全新未使用原包装内,并附有购买凭据。产品质量问题、或错发漏发等,由商家造成的失误,将进行补发,或退款处理。其它原因需退货费用由客户自行承担。

Yami

下载亚米应用

返回顶部

为你推荐

品牌故事

京东图书

为您推荐

Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折

评论{{'('+ commentList.posts_count + ')'}}

分享你的感受,帮助更多用户做出选择。

写评论
{{ totalRating }} 写评论
  • {{i}}星

    {{i}}星

    {{ parseInt(commentRatingList[i]) }}%

Yami Yami
{{ comment.user_name }}

{{ showTranslate(comment) }}收起

{{ strLimit(comment,800) }}查看全部

Show Original

{{ comment.content }}

Yami
查看更多

{{ formatTime(comment.in_dtm) }} 已购买 {{groupData}}

{{ comment.likes_count }} {{ comment.likes_count }} {{ comment.reply_count }} {{comment.in_user==uid ? __('Delete') : __('Report')}}
Yami Yami
{{ comment.user_name }}

{{ showTranslate(comment) }}收起

{{ strLimit(comment,800) }}查看全部

Show Original

{{ comment.content }}

Yami
查看更多

{{ formatTime(comment.in_dtm) }} 已购买 {{groupData}}

{{ comment.likes_count }} {{ comment.likes_count }} {{ comment.reply_count }} {{comment.in_user==uid ? __('Delete') : __('Report')}}

暂无符合条件的评论

评论详情

Yami Yami

{{ showTranslate(commentDetails) }}收起

{{ strLimit(commentDetails,800) }}查看全部

Show Original

{{ commentDetails.content }}

Yami
查看更多

{{ formatTime(commentDetails.in_dtm) }} 已购买 {{groupData}}

{{ commentDetails.likes_count }} {{ commentDetails.likes_count }} {{ commentDetails.reply_count }} {{commentDetails.in_user==uid ? __('Delete') : __('Report')}}

请输入内容

回复{{'(' + replyList.length + ')'}}

Yami Yami

{{ showTranslate(reply) }}收起

{{ strLimit(reply,800) }}查看全部

Show Original

{{ reply.reply_content }}

{{ formatTime(reply.reply_in_dtm) }}

{{ reply.reply_likes_count }} {{ reply.reply_likes_count }} {{ reply.reply_reply_count }} {{reply.reply_in_user==uid ? __('Delete') : __('Report')}}

请输入内容

取消

End

发表评论
商品评分

请输入评论

  • 一个好的昵称,会让你的评论更受欢迎!
  • 修改了这里的昵称,个人资料中的昵称也将被修改。
感谢你的评论
你的好评可以帮助我们的社区发现更好的亚洲商品。

举报

取消

确认删除该评论吗?

取消

历史浏览

品牌故事

京东图书