万本电子书0元读

万本电子书0元读

顶部广告

精通Spring4.x:企业应用开发实战电子书

本书是在《精通Spring 3.x——企业应用发详解》的基础上,历时一年的重大调整改版而成的,延续了上一版本“追求深度,注重原理,不停留在技术表面”的写作风格,力求使读者在熟练使用Spring的各项功能的同时透彻理解Spring的内部实现,真正做到知其然并知其所以然。此外,本书重突出了“实战性”的主题,力求使全书内容体现“从实际项目中来,到实际项目中去”的写作原则。

售       价:¥

纸质售价:¥88.30购买纸书

474人正在读 | 1人评论 6.5

作       者:陈雄华,林开雄

出  版  社:电子工业出版社

出版时间:2017-01-01

字       数:89.4万

所属分类: 科技 > 计算机/网络 > 软件系统

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(1条)
  • 读书简介
  • 目录
  • 累计评论(1条)
Spring 4.0是Spring在积蓄4年后,隆重推出的一个重大升级版本,一步加强了Spring作为Java领域*源平台的翘楚地位。Spring 4.0引了众多Java发者翘首以盼的基于Groovy Bean的配置、HTML 5/WebSocket支持等新功能,全面支持Java 8.0,*要求是Java 6.0。这些新功能实用性强、易用性高,可大幅降低Java应用,特别是Java Web应用发的难度,同时有效提升应用发的优雅性。本书是在《精通Spring 3.x——企业应用发详解》的基础上,历时一年的重大调整改版而成的,延续了上一版本“追求深度,注重原理,不停留在技术表面”的写作风格,力求使读者在熟练使用Spring的各项功能的同时透彻理解Spring的内部实现,真正做到知其然并知其所以然。此外,本书重突出了“实战性”的主题,力求使全书内容体现“从实际项目中来,到实际项目中去”的写作原则。<br/>【推荐语】<br/>本书是在《精通Spring 3.x——企业应用发详解》的基础上,历时一年的重大调整改版而成的,延续了上一版本“追求深度,注重原理,不停留在技术表面”的写作风格,力求使读者在熟练使用Spring的各项功能的同时透彻理解Spring的内部实现,真正做到知其然并知其所以然。此外,本书重突出了“实战性”的主题,力求使全书内容体现“从实际项目中来,到实际项目中去”的写作原则。 源代码 百度云盘下载:https://pan.baidu.com/s/1pLz0zeN  腾讯微云下载:https://share.weiyun.com/0ff509ffb86d61f15568b83921d33aa0 您也可以通过作者博文,了解更多的下载地址:http://stamen.iteye.com/blog/2357968<br/>【作者】<br/>陈雄华    技术高手,毕业于厦门大学计算机与信息工程学院,倾心Spring技术研究多年,是ROP源项目创始人,担任过多家公司的系统架构师、技术总监,主持过多个大型企业级应用及多家公司基础技术平台的研发,拥有丰富的一线实战经验。出版《精通JBuilder 2005》、《精通Spring 3.x》、《Spring就这么简单》等多本技术书籍,广受读者好评。 林雄    资深软件发经理,拥有10余年软件发经验,对Spring、大数据、应用虚拟化、微服务等源技术的应用和实现原理有深研究,拥有丰富的产品研发实战经验,目前专注于大数据解决方案以及微服务的研究与实施,参与《精通Spring 3.x》、《Spring就这么简单》等多本技术书籍的创作。 文建国   系统架构设计师、高级项目经理,精通Spring等优秀源技术在企业中的应用,主要研究方向为云计算、大数据、业务基础平台、分布式等技术。曾参与中国电信ITSP 3.0技术架构规范的编写,有多个大型全国集中项目的架构和管理经验。目前致力于“智能制造”的人机一体化系统研发,希望通过物联网与互联网的融合提升生产效率和增强企业原有系统。热衷于源技术布道,曾译有《Spring Data实战》、《大规模Java平台虚拟化与调优》等书籍。<br/>
目录展开

内容简介

前言

第1篇 基础篇

第1章 Spring概述

1.1 认识Spring

1.2 关于SpringSource

1.3 Spring带给我们什么

1.4 Spring体系结构

1.5 Spring对Java版本的要求

1.6 Spring 4.0新特性

1.6.1 全面支持Java 8.0

1.6.2 核心容器的增强

1.6.3 支持用Groovy定义Bean

1.6.4 Web的增强

1.6.5 支持WebSocket

1.6.6 测试的增强

1.6.7 其他

1.7 Spring子项目

1.8 如何获取Spring

1.9 小结

第2章 快速入门

2.1 实例概述

2.1.1 比Hello World更适用的实例

2.1.2 实例功能简介

2.2 环境准备

2.2.1 构建工具Maven

2.2.2 创建库表

2.2.3 建立工程

2.2.4 类包及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 小结

第3章 Spring Boot

3.1 Spring Boot概览

3.1.1 Spring Boot发展背景

3.1.2 Spring Boot特点

3.1.3 Spring Boot启动器

3.2 快速入门

3.3 安装配置

3.3.1 基于Maven环境配置

3.3.2 基于Gradle环境配置

3.3.3 基于Spring Boot CLI环境配置

3.3.4 代码包结构规划

3.4 持久层

3.4.1 初始化配置

3.4.2 UserDao

3.5 业务层

3.6 展现层

3.6.1 配置pom.xml依赖

3.6.2 配置Spring MVC框架

3.6.3 处理登录请求

3.7 运维支持

3.8 小结

第2篇 核心篇

第4章 IoC容器

4.1 IoC概述

4.1.1 通过实例理解IoC的概念

4.1.2 IoC的类型

4.1.3 通过容器完成依赖关系的注入

4.2 相关Java基础知识

4.2.1 简单实例

4.2.2 类装载器ClassLoader

4.2.3 Java反射机制

4.3 资源访问利器

4.3.1 资源抽象接口

4.3.2 资源加载

4.4 BeanFactory和ApplicationContext

4.4.1 BeanFactory介绍

4.4.2 ApplicationContext介绍

4.4.3 父子容器

4.5 Bean的生命周期

4.5.1 BeanFactory中Bean的生命周期

4.5.2 ApplicationContext中Bean的生命周期

4.6 小结

第5章 在IoC容器中装配Bean

5.1 Spring配置概述

5.1.1 Spring容器高层视图

5.1.2 基于XML的配置

5.2 Bean基本配置

5.2.1 装配一个Bean

5.2.2 Bean的命名

5.3 依赖注入

5.3.1 属性注入

5.3.2 构造函数注入

5.3.3 工厂方法注入

5.3.4 选择注入方式的考量

5.4 注入参数详解

5.4.1 字面值

5.4.2 引用其他Bean

5.4.3 内部Bean

5.4.4 null值

5.4.5 级联属性

5.4.6 集合类型属性

5.4.7 简化配置方式

5.4.8 自动装配

5.5 方法注入

5.5.1 lookup方法注入

5.5.2 方法替换

5.6 <bean>之间的关系

5.6.1 继承

5.6.2 依赖

5.6.3 引用

5.7 整合多个配置文件

5.8 Bean作用域

5.8.1 singleton作用域

5.8.2 prototype作用域

5.8.3 与Web应用环境相关的Bean作用域

5.8.4 作用域依赖问题

5.9 FactoryBean

5.10 基于注解的配置

5.10.1 使用注解定义Bean

5.10.2 扫描注解定义的Bean

5.10.3 自动装配Bean

5.10.4 Bean作用范围及生命过程方法

5.11 基于Java类的配置

5.11.1 使用Java类提供Bean定义信息

5.11.2 使用基于Java类的配置信息启动Spring容器

5.12 基于Groovy DSL的配置

5.12.1 使用Groovy DSL提供Bean定义信息

5.12.2 使用GenericGroovyApplicationContext启动Spring容器

5.13 通过编码方式动态添加Bean

5.13.1 通过DefaultListableBeanFactory

5.13.2 扩展自定义标签

5.14 不同配置方式比较

5.15 小结

第6章 Spring容器高级主题

6.1 Spring容器技术内幕

6.1.1 内部工作机制

6.1.2 BeanDefinition

6.1.3 InstantiationStrategy

6.1.4 BeanWrapper

6.2 属性编辑器

6.2.1 JavaBean的编辑器

6.2.2 Spring默认属性编辑器

6.2.3 自定义属性编辑器

6.3 使用外部属性文件

6.3.1 PropertyPlaceholderConfigurer属性文件

6.3.2 使用加密的属性文件

6.3.3 属性文件自身的引用

6.4 引用Bean的属性值

6.5 国际化信息

6.5.1 基础知识

6.5.2 MessageSource

6.5.3 容器级的国际化信息资源

6.6 容器事件

6.6.1 Spring事件类结构

6.6.2 解构Spring事件体系的具体实现

6.6.3 一个实例

6.7 小结

第7章 Spring AOP基础

7.1 AOP概述

7.1.1 AOP到底是什么

7.1.2 AOP术语

7.1.3 AOP的实现者

7.2 基础知识

7.2.1 带有横切逻辑的实例

7.2.2 JDK动态代理

7.2.3 CGLib动态代理

7.2.4 AOP联盟

7.2.5 代理知识小结

7.3 创建增强类

7.3.1 增强类型

7.3.2 前置增强

7.3.3 后置增强

7.3.4 环绕增强

7.3.5 异常抛出增强

7.3.6 引介增强

7.4 创建切面

7.4.1 切点类型

7.4.2 切面类型

7.4.3 静态普通方法名匹配切面

7.4.4 静态正则表达式方法匹配切面

7.4.5 动态切面

7.4.6 流程切面

7.4.7 复合切点切面

7.4.8 引介切面

7.5 自动创建代理

7.5.1 实现类介绍

7.5.2 BeanNameAutoProxyCreator

7.5.3 DefaultAdvisorAutoProxyCreator

7.5.4 AOP无法增强疑难问题剖析

7.6 小结

第8章 基于@AspectJ和Schema的AOP

8.1 Spring对AOP的支持

8.2 Java 5.0注解知识快速进阶

8.2.1 了解注解

8.2.2 一个简单的注解类

8.2.3 使用注解

8.2.4 访问注解

8.3 着手使用@AspectJ

8.3.1 使用前的准备

8.3.2 一个简单的例子

8.3.3 如何通过配置使用@AspectJ切面

8.4 @AspectJ语法基础

8.4.1 切点表达式函数

8.4.2 在函数入参中使用通配符

8.4.3 逻辑运算符

8.4.4 不同增强类型

8.4.5 引介增强用法

8.5 切点函数详解

8.5.1 @annotation()

8.5.2 execution()

8.5.3 args()和@args()

8.5.4 within()

8.5.5 @within()和@target()

8.5.6 target()和this()

8.6 @AspectJ进阶

8.6.1 切点复合运算

8.6.2 命名切点

8.6.3 增强织入的顺序

8.6.4 访问连接点信息

8.6.5 绑定连接点方法入参

8.6.6 绑定代理对象

8.6.7 绑定类注解对象

8.6.8 绑定返回值

8.6.9 绑定抛出的异常

8.7 基于Schema配置切面

8.7.1 一个简单切面的配置

8.7.2 配置命名切点

8.7.3 各种增强类型的配置

8.7.4 绑定连接点信息

8.7.5 Advisor配置

8.8 混合切面类型

8.8.1 混合使用各种切面类型

8.8.2 各种切面类型总结

8.9 其他

8.9.1 JVM Class文件字节码转换基础知识

8.9.2 使用LTW织入切面

8.10 小结

第9章 Spring SpEL

9.1 JVM动态语言

9.2 SpEL表达式概述

9.3 SpEL核心接口

9.3.1 EvaluationContext接口

9.3.2 SpEL编译器

9.4 SpEL基础表达式

9.4.1 文本字符解析

9.4.2 对象属性解析

9.4.3 数组、集合类型解析

9.4.4 方法解析

9.4.5 操作符解析

9.4.6 安全导航操作符

9.4.7 三元操作符

9.4.8 Elvis操作符

9.4.9 赋值、类型、构造器、变量

9.4.10 集合过滤

9.4.11 集合转换

9.5 在Spring中使用SpEL

9.5.1 基于XML的配置

9.5.2 基于注解的配置

9.6 小结

第3篇 数据篇

第10章 Spring对DAO的支持

10.1 Spring的DAO理念

10.2 统一的异常体系

10.2.1 Spring的DAO异常体系

10.2.2 JDBC的异常转换器

10.2.3 其他持久化技术的异常转换器

10.3 统一数据访问模板

10.3.1 使用模板和回调机制

10.3.2 Spring为不同持久化技术所提供的模板类

10.4 数据源

10.4.1 配置一个数据源

10.4.2 获取JNDI数据源

10.4.3 Spring的数据源实现类

10.5 小结

第11章 Spring的事务管理

11.1 数据库事务基础知识

11.1.1 何为数据库事务

11.1.2 数据并发的问题

11.1.3 数据库锁机制

11.1.4 事务隔离级别

11.1.5 JDBC对事务的支持

11.2 ThreadLocal基础知识

11.2.1 ThreadLocal是什么

11.2.2 ThreadLocal的接口方法

11.2.3 一个TheadLocal实例

11.2.4 与Thread同步机制的比较

11.2.5 Spring使用ThreadLocal解决线程安全问题

11.3 Spring对事务管理的支持

11.3.1 事务管理关键抽象

11.3.2 Spring的事务管理器实现类

11.3.3 事务同步管理器

11.3.4 事务传播行为

11.4 编程式的事务管理

11.5 使用XML配置声明式事务

11.5.1 一个将被实施事务增强的服务接口

11.5.2 使用原始的TransactionProxyFactoryBean

11.5.3 基于aop/tx命名空间的配置

11.6 使用注解配置声明式事务

11.6.1 使用@Transactional注解

11.6.2 通过AspectJ LTW引入事务切面

11.7 集成特定的应用服务器

11.7.1 BEA WebLogic

11.7.2 WebSphere

11.8 小结

第12章 Spring的事务管理难点剖析

12.1 DAO和事务管理的牵绊

12.1.1 JDBC访问数据库

12.1.2 Hibernate访问数据库

12.2 应用分层的迷惑

12.3 事务方法嵌套调用的迷茫

12.3.1 Spring事务传播机制回顾

12.3.2 相互嵌套的服务方法

12.4 多线程的困惑

12.4.1 Spring通过单实例化Bean简化多线程问题

12.4.2 启动独立线程调用事务方法

12.5 联合军种作战的混乱

12.5.1 Spring事务管理器的应对

12.5.2 Hibernate+Spring JDBC混合框架的事务管理

12.6 特殊方法成漏网之鱼

12.6.1 哪些方法不能实施Spring AOP事务

12.6.2 事务增强遗漏实例

12.7 数据连接泄露

12.7.1 底层连接资源的访问问题

12.7.2 Spring JDBC数据连接泄露

12.7.3 事务环境下通过DataSourceUtils获取数据连接

12.7.4 无事务环境下通过DataSourceUtils获取数据连接

12.7.5 JdbcTemplate如何做到对连接泄露的免疫

12.7.6 使用TransactionAwareDataSourceProxy

12.7.7 其他数据访问技术的等价类

12.8 小结

第13章 使用Spring JDBC访问数据库

13.1 使用Spring JDBC

13.1.1 JdbcTemplate小试牛刀

13.1.2 在DAO中使用JdbcTemplate

13.2 基本的数据操作

13.2.1 更改数据

13.2.2 返回数据库的表自增主键值

13.2.3 批量更改数据

13.2.4 查询数据

13.2.5 查询单值数据

13.2.6 调用存储过程

13.3 BLOB/CLOB类型数据的操作

13.3.1 如何获取本地数据连接

13.3.2 相关的操作接口

13.3.3 插入LOB类型的数据

13.3.4 以块数据方式读取LOB数据

13.3.5 以流数据方式读取LOB数据

13.4 自增键和行集

13.4.1 自增键的使用

13.4.2 如何规划主键方案

13.4.3 以行集返回数据

13.5 NamedParameterJdbcTemplate模板类

13.6 小结

第14章 整合其他ORM框架

14.1 Spring整合ORM技术

14.2 在Spring中使用Hibernate

14.2.1 配置SessionFactory

14.2.2 使用HibernateTemplate

14.2.3 处理LOB类型的数据

14.2.4 添加Hibernate事件监听器

14.2.5 使用原生的Hibernate API

14.2.6 使用注解配置

14.2.7 事务处理

14.2.8 延迟加载问题

14.3 在Spring中使用MyBatis

14.3.1 配置SqlMapClient

14.3.2 在Spring中配置MyBatis

14.3.3 编写MyBatis的DAO

14.4 DAO层设计

14.4.1 DAO基类设计

14.4.2 查询接口方法设计

14.4.3 分页查询接口设计

14.5 小结

第4篇 应用篇

第15章 Spring Cache

15.1 缓存概述

15.1.1 缓存的概念

15.1.2 使用Spring Cache

15.2 掌握Spring Cache抽象

15.2.1 缓存注解

15.2.2 缓存管理器

15.2.3 使用SpEL表达式

15.2.4 基于XML的Cache声明

15.2.5 以编程方式初始化缓存

15.2.6 自定义缓存注解

15.3 配置Cache存储

15.3.1 EhCache

15.3.2 Guava

15.3.3 HazelCast

15.3.4 GemFire

15.3.5 JSR-107 Cache

15.4 实战经验

15.5 小结

第16章 任务调度和异步执行器

16.1 任务调度概述

16.2 Quartz快速进阶

16.2.1 Quartz基础结构

16.2.2 使用SimpleTrigger

16.2.3 使用CronTrigger

16.2.4 使用Calendar

16.2.5 任务调度信息存储

16.3 在Spring中使用Quartz

16.3.1 创建JobDetail

16.3.2 创建Trigger

16.3.3 创建Scheduler

16.4 在Spring中使用JDK Timer

16.4.1 Timer和TimerTask

16.4.2 Spring对Java Timer的支持

16.5 Spring对Java 5.0 Executor的支持

16.5.1 了解Java 5.0的Executor

16.5.2 Spring对Executor所提供的抽象

16.6 实际应用中的任务调度

16.6.1 如何产生任务

16.6.2 任务调度对应用程序集群的影响

16.6.3 任务调度云

16.6.4 Web应用程序中调度器的启动和关闭问题

16.7 小结

第17章 Spring MVC

17.1 Spring MVC体系概述

17.1.1 体系结构

17.1.2 配置DispatcherServlet

17.1.3 一个简单的实例

17.2 注解驱动的控制器

17.2.1 使用@RequestMapping映射请求

17.2.2 请求处理方法签名

17.2.3 使用矩阵变量绑定参数

17.2.4 请求处理方法签名详细说明

17.2.5 使用HttpMessageConverter<T>

17.2.6 使用@RestController和AsyncRestTemplate

17.2.7 处理模型数据

17.3 处理方法的数据绑定

17.3.1 数据绑定流程剖析

17.3.2 数据转换

17.3.3 数据格式化

17.3.4 数据校验

17.4 视图和视图解析器

17.4.1 认识视图

17.4.2 认识视图解析器

17.4.3 JSP和JSTL

17.4.4 模板视图

17.4.5 Excel

17.4.6 PDF

17.4.7 输出XML

17.4.8 输出JSON

17.4.9 使用XmlViewResolver

17.4.10 使用ResourceBundleViewResolver

17.4.11 混合使用多种视图技术

17.5 本地化解析

17.5.1 本地化的概念

17.5.2 使用CookieLocaleResolver

17.5.3 使用SessionLocaleResolver

17.5.4 使用LocaleChangeInterceptor

17.6 文件上传

17.6.1 配置MultipartResolver

17.6.2 编写控制器和文件上传表单页面

17.7 WebSocket支持

17.7.1 使用WebSocket

17.7.2 WebSocket的限制

17.8 杂项

17.8.1 静态资源处理

17.8.2 装配拦截器

17.8.3 异常处理

17.8.4 RequestContextHolder的使用

17.9 小结

第18章 实战案例开发

18.1 论坛案例概述

18.1.1 论坛整体功能结构

18.1.2 论坛用例描述

18.1.3 主要功能流程描述

18.2 系统设计

18.2.1 技术框架选择

18.2.2 采用Maven构建项目

18.2.3 单元测试类包结构规划

18.2.4 系统架构图

18.2.5 PO类设计

18.2.6 持久层设计

18.2.7 服务层设计

18.2.8 Web层设计

18.2.9 数据库设计

18.3 开发前的准备

18.4 持久层开发

18.4.1 PO类

18.4.2 DAO基类

18.4.3 通过扩展基类定义DAO类

18.4.4 DAO Bean的装配

18.4.5 使用Hibernate二级缓存

18.5 对持久层进行测试

18.5.1 配置Unitils测试环境

18.5.2 准备测试数据库及测试数据

18.5.3 编写DAO测试基类

18.5.4 编写BoardDao测试用例

18.6 服务层开发

18.6.1 UserService的开发

18.6.2 ForumService的开发

18.6.3 服务类Bean的装配

18.7 对服务层进行测试

18.7.1 编写Service测试基类

18.7.2 编写ForumService测试用例

18.8 Web层开发

18.8.1 BaseController的基类

18.8.2 用户登录和注销

18.8.3 用户注册

18.8.4 论坛管理

18.8.5 论坛普通功能

18.8.6 分页显示论坛版块的主题帖子

18.8.7 web.xml配置

18.8.8 Spring MVC配置

18.9 对Web层进行测试

18.9.1 编写Web测试基类

18.9.2 编写ForumManageController测试用例

18.10 开发环境部署

18.11 项目配置实战经验

18.11.1 “传统的”Web项目属性文件

18.11.2 如何规划便于部署的Web项目属性文件

18.11.3 数据源的配置

18.12 小结

第5篇 提高篇

第19章 Spring OXM

19.1 认识XML解析技术

19.1.1 什么是XML

19.1.2 XML的处理技术

19.2 XML处理利器:XStream

19.2.1 XStream概述

19.2.2 快速入门

19.2.3 使用XStream别名

19.2.4 XStream转换器

19.2.5 XStream注解

19.2.6 流化对象

19.2.7 持久化API

19.2.8 额外功能:处理JSON

19.3 其他常见的O/X Mapping开源项目

19.3.1 JAXB

19.3.2 Castor

19.3.3 JiBX

19.3.4 总结比较

19.4 与Spring OXM整合

19.4.1 Spring OXM概述

19.4.2 整合OXM实现者

19.4.3 如何在Spring中进行配置

19.4.4 Spring OXM简单实例

19.5 小结

第20章 实战型单元测试

20.1 单元测试概述

20.1.1 为什么需要单元测试

20.1.2 单元测试之误解

20.1.3 单元测试之困境

20.1.4 单元测试基本概念

20.2 TestNG快速进阶

20.2.1 TestNG概述

20.2.2 TestNG生命周期

20.2.3 使用TestNG

20.3 模拟利器Mockito

20.3.1 模拟测试概述

20.3.2 创建Mock对象

20.3.3 设定Mock对象的期望行为及返回值

20.3.4 验证交互行为

20.4 测试整合之王Unitils

20.4.1 Unitils概述

20.4.2 集成Spring

20.4.3 集成Hibernate

20.4.4 集成DbUnit

20.4.5 自定义扩展模块

20.5 使用Unitils测试DAO层

20.5.1 数据库测试的难点

20.5.2 扩展DbUnit用Excel准备数据

20.5.3 测试实战

20.6 使用Unitils测试Service层

20.7 测试Web层

20.7.1 对LoginController进行单元测试

20.7.2 使用Spring Servlet API模拟对象

20.7.3 使用Spring RestTemplate测试

20.8 小结

《Spring 3.x企业应用开发实战》读者评价

累计评论(1条) 1个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部