您的位置:首页 > 编程语言 > Java开发

Spring 3.X 企业应用开发实战 -- 目录

2015-08-25 21:58 956 查看
《Spring3.X企业应用开发实战》,陈雄华 林开雄著,电子工业出版社,2012.2出版。

如其名,这是一本偏向讲解如何使用Spring的书,偏向实战的书,是指导我们使用Spring这个基础框架,进行企业开发的最好入门书籍。

在2014年,有幸全部看完,断断续续的,也看了有2个月,收益良多,现在过去1年多了,很多细节已经忘记,不能准确描述出来,不过,如果有应用的场景,依然能从记忆中流出......

概述

第1章 Spring概述

1.1 认识 Spring

1.2 关于 SpringSource

1.3 Spring 带给我们什么

1.4 Spring 体系结构

1.5 Spring 3.0的新功能

核心API更新到 Java 5.0

Spring 表达式语言

可通过 Java 类提供IoC配置信息

通用类型转换系统和属性格式化系统

数据访问层新增OXM功能

Web层的增强

其他

1.6 Spring 对 Java 版本的要求

1.7 如何获取 Spring

1.8 小结

第2章 快速入门

2.1 实例功能概述

比 Hello World 更实用的实例

实例功能简介

2.2 环境准备

创建库表

建立工程

类包及 Spring 配置文件规划

2.3 持久层

建立领域对象

UserDao

LoginLogDao

在 Spring 中装配 DAO

2.4 业务层

UserService

在 Spring 中装配 Service

单元测试

2.5 展现层

配置 Spring MVC 框架

处理登录请求

JSP视图页面

2.6 运行Web应用

2.7 小结

IoC 和 AOP

第3章 IoC 容器概述

3.1 IoC 概述

通过实例理解 IoC 的概念

IoC 的类型

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

3.2 相关 Java 基础知识

简单实例

类装载器 ClassLoader

Java 反射机制

3.3 资源访问利器

资源抽象接口

资源加载

3.4 BeanFactory 和 ApplicationContext

BeanFactory 介绍

ApplicationContext介绍

父子容器

3.5 Bean 的生命周期

BeanFactory 中 Bean 的生命周期

ApplicationContext 中 Bean 的生命周期

3.6 小结

第4章 在 IoC 容器中装配 Bean

4.1 Spring 配置概述

Spring 容器高层视图

基于XML的配置

4.2 Bean 基本配置

装配一个Bean

Bean的命名

4.3 依赖注入

属性注入

构造函数注入

工厂方法注入

选择注入方式的考量

4.4 注入参数详解

字面值

引用其他 Bean

内部 Bean

null 值

级联属性

集合类型属性

简化配置方式

自动装配

4.5 方法注入

lookup 方法注入

方法替换

4.6 bean 之间的关系

继承

依赖

引用

4.7 整合多个配置文件
4.8 Bean 作用域

singleton 作用域

prototype 作用域

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

作用域依赖问题

4.9 FactoryBean

4.10 基于注解的配置

使用注解定义 Bean

使用注解配置信息启动 Spring 容器

自动装配 Bean

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

4.11 基于 Java 类的配置

使用 Java 类提供 Bean 定义信息

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

4.12 不同配置方式比较

4.13 小结

第5章 Spring 容器高级主题

5.1 Spring 容器技术内幕

内部工作机制

BeanDefinition

InstantiationStrategy

BeanWrapper

5.2 属性编辑器

JavaBean 的编辑器

Spring 默认属性编辑器

自定义属性编辑器

5.3 使用外部属性文件

使用外部属性文件

使用加密的属性文件

属性文件自身的引用

5.4 引用 Bean 的属性值

5.5 国际化信息

基础知识

MessageSource

容器级的国际化信息资源

5.6 容器事件

Spring 事件类结构

结构 Spring 事件体系的具体实现

一个实例

5.7 小结

第6章 Spring AOP 基础

6.1 AOP 概述

AOP 到底是什么

AOP 术语

AOP 的实现者

6.2 基础知识

带有横切逻辑的实例

JDK 动态代理

CGLib 动态代理

AOP 联盟

代理知识小结

6.3 创建增强类

增强类型

前置增强

后置增强

环绕增强

异常抛出增强

引介增强

6.4 创建切面

切点类型

切面类型

静态普通方法名匹配切面

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

动态切面

流程切面

复合切点切面

引介切面

6.5 自动创建代理

实现类介绍

BeanNameAutoProxyCreator

DefaultAdvisorAutoProxyCreator

6.6 小结

第7章 基于 @AspectJ 和 Schema 的 AOP

7.1 Spring 对 AOP 的支持

7.2 JDK 5.0 注解知识快速进阶

了解注解

一个简单的注解类

使用注解

访问注解

7.3 着手使用 @AspectJ

使用前的准备

一个简单的例子

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

7.4 @AspectJ 语法基础

切点表达式函数

在函数入参中使用通配符

逻辑运算符

不同增强类型

引介增强用法

7.5 切点函数详解

@annotation()

execution()

args()和@args()

within()

@within()和@target()

target()的this()

7.6 @AspectJ 进阶

切点复合运算

命名切点

增强织入的顺序

访问连接点信息

绑定连接点方法入参

绑定代理对象

绑定类注解对象

绑定返回值

绑定抛出的异常

7.7 基于Schema 配置切面

一个简单切面的配置

配置命名切点

各种增强类型的配置

绑定连接点信息

Advisor配置

7.8 混合切面类型

混合使用各种切面类型

各种切面类型总结

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

java.lang.instrument 包的工作原理

如何向 JVM 中注册转换器

使用 JVM 启动参数注册转换器的问题

7.10 使用 LTW 织入切面

Spring 的 LoadTimeWeaver

使用 LTW 织入一个切面

在 Tomcat 下的配置

在其他Web应用服务器下的配置

7.11 小结

数据访问

第8章 Spring 对 DAO 的支持

8.1 Spring的DAO理念

8.2 统一的异常体系

Spring的DAO异常体系

JDBC的异常转换器

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

8.3 统一数据访问模板

使用模板和回调机制

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

8.4 数据源

配置一个数据源

获取 JNDI 数据源

Spring 的数据源实现类

8.5 小结

第9章 Spring 的事务管理

9.1 数据库事务基础知识

何为数据库事务

数据并发的问题

数据库锁机制

事务隔离级别

JDBC对事务支持

9.2 ThreadLocal 基础知识

ThreadLocal 是什么

ThreadLocal 的接口方法

一个ThreadLocal实例

与Thread同步机制的比较

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

9.3 Spring 对事务管理的支持

事务管理关键抽象

Spring 的事务管理器实现类

事务同步管理器

事务传播行为

9.4 编程式的事务管理

9.5 使用 XML 配置声明式事务

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

使用原始的TransactionProxyFactoryBean

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

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

使用 @Transaction 注解

通过 AspectJ LTW 引入事务切面

9.7 集成特定的应用服务器

BEA WebLogic

9.8 小结

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

10.1 DAO 和事务管理的牵绊

JDBC 访问数据库

Hibernate 访问数据库

10.2 应用分层的迷惑

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

Spring 事务传播机制回顾

相互嵌套的服务方法

10.4 多线程的困惑

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

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

10.5 联合军种作战的混乱

Spring 事务管理器的应对

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

10.6 特殊方法成漏网之鱼

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

事务增强遗漏实例

10.7 数据连接泄露

底层连接资源的访问问题

Spring JDBC 数据连接泄露

通过 DataSourceUtils 获取数据连接

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

使用 TransactionAwareDataSourceProxy

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

10.8 小结

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

11.1 使用 Spring JDBC

JDBCTemplate 小试牛刀

在 DAO 中使用 JDBCTemplate

11.2 基本的数据操作

更改数据

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

批量更改数据

查询数据

查询单值数据

调用存储过程

11.3 BLOB/CLOB 类型数据的操作

如何获取本地数据连接

相关的操作接口

插入 Lob 类型的数据

以块数据方式读取 Lob 数据

以流数据方式读取 Lob 数据

11.4 自增键和行集

自增键的使用

如何规划主键方案

以行集返回数据

11.5 其他类型的 JDBCTemplate

NamedParameterJDBCTemplate

SimpleJDBCTemplate

11.6 以 OO 方式访问数据库

使用 MappingSqlQuery 查询数据

使用 SqlUpdate 更新数据

使用 StoredProcedure 执行存储过程

SqlFunction 类

11.7 小结

第12章 整合其他ORM框架

12.1 Spring 整合ORM技术

12.2 在 Spring 中 使用Hibernate

配置 SessionFactory

使用 HibernateTemplate

处理 Lob 类型数据

添加 Hibernate 事件监听器

使用原生 Hibernate API

使用注解配置

事务处理

延迟加载的问题

12.3 在 Spring 中使用 MyBatis

配置 SqlMapClient

在 Spring 配置 MyBatis

编写 MyBatis 的DAO

12.5 DAO 层设计

DAO基类的设计

查询接口方法的设计

分页查询接口设计

12.6 小结

业务层及Web层技术

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

13.1 任务调度概述

13.2 Quartz 快速进阶

Quartz 基础结构

使用 SimpleTrigger

使用 CronTrigger

使用调度信息存储

13.3 在 Spring 中使用 Quartz

创建 JobDetail

创建 Trigger

创建 Scheduler

13.4 Spring 中使用 JDK Timer

Timer 和 TimerTask

Spring 对JDK Timer 的支持

13.5 Spring 对JDK 5.0 Executor 的支持

了解 JDK 5.0 的 Executor

Spring 对 Executor 所提供的抽象

13.6 实际应用中的任务调度

如何产生任务

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

任务调度云

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

13.7 小结

第14章 使用 OXM 进行对象 XML 映射

14.1 认识 XML 解析技术

什么是 XML

XML 的处理技术

14.2 XML 处理利器:XStream

XStream 概述

快速入门

使用 XStream 别名

XStream 转换器

XStream 注解

流化对象

持久化 API

额外功能:处理 JSON

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

JAXB

XMLBeans

Castor

JiBX

总结比较

14.4 与 Spring OXM 整合

Spring OXM 概述

整合 OXM 实现者

如何在 Spring 中进行配置

Spring OXM 简单实例

14.5 小结

第15章 Spring MVC

15.1 Spring MVC 概述

体系结构

配置 DispatcherServlet

一个简单的实例

15.2 注解驱动的控制器

使用 @RequestMapping 映射请求

请求处理方法签名概述

处理方法签名详细说明

使用 HttpMessageConverter<T>

处理模型数据

15.3 处理方法的数据绑定

数据绑定流程剖析

数据转换

数据格式化

数据校验

15.4 视图和视图解析器

认识视图

认识视图解析器

JSP 和 JSTL

模板视图

Excel

PDF

输出 XML

输出 JSON

使用 XmlViewResolver

使用 ResourceBundleViewResolver

混合使用多种视图技术

15.5 本地化解析

本地化概述

使用 CookieLocaleResolver

使用 SessionLocaleResolver

使用 LocaleChangeInterceptor

15.6 文件上传

配置 MultipartResolver

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

15.7 杂项

静态资源处理

装配拦截器

异常处理

15.8 小结

测试及实战

第16章 实战型单元测试

16.1 单元测试概述

为什么需要单元测试

单元测试之无解

单元测试之困境

单元测试基本概念

16.2 JUnit 4 快速进阶

JUnit 4 概述

JUnit 4 生命周期

使用 JUnit 4

16.3 模拟利器 Mockito

模拟测试概述

创建 Mock 对象

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

验证交互行为

16.4 测试整合之王 Unitils

Unitils 概述

集成 Spring

集成 Hibernate

集成 Dbunit

自定义扩展模块

16.5 使用 Unitils 测试 DAO 层

数据库测试的难点

扩展 Dbunit 用 Excel 准备数据

测试实战

16.6 使用 Unitils 测试 Service 层

16.7 测试 Web 层

对 LoginController 进行单元测试

使用 Spring Servlet API 模拟对象

使用 Spring RestTemplate 测试

使用 Selenium 测试

16.8 小结

第17章 实战案例开发

17.1 论坛案例概述

论坛整体功能结构

论坛用例概述

主要功能流程概述

17.2 系统设计

技术框架选择

Web 目录结构及类包结构规划

单元测试类包结构规划

系统的结构图

PO 的类设计

持久层设计

服务层设计

Web层设计

数据库设计

17.3 开发前的准备

17.4 持久层开发

PO 类

DAO 基类

通过扩展基类所定义 DAO 类

DAO Bean 的装配

使用 Hibernate 二级缓存

17.5 对持久层进行测试

配置 Unitils 测试环境

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

编写 DAO 测试基类

编写 BoardDao 测试用例

17.6 服务层开发

UserService 的开发

ForumService 的开发

服务类 Bean 的装配

17.7 对服务层进行测试

编写 Service 测试基类

编写 ForumService 测试用例

17.8 Web 层开发

BaseController 的基类

用户登录和注销

用户注册

论坛管理

论坛普通功能

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

web.xml 配置

Spring MVC配置

17.9 对 Web 层进行测试

编写 Web 测试基类

编写 ForumManageController 测试用例

17.10 部署和运行应用

17.11 小结
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: