开头
在开始正文之前,请你先思考几个问题:
- 你项目中有使用哪些 GOF 设计模式
- 说一说 GOF 23 种设计模式的设计理念
- 说说 Spring 框架中如何实现设计模式
假设我是面试官问起了你这些面试题,你该如何回答呢,请先思考一分钟。

好的,我们开始进入正题。设计模式实践里面提供了许多经久不衰的解决方案和最佳方案。这里,GOF 设计模式主要分为三大类:创建模式、结构模式和行为模式。创建模式对于创建对象实例非常有用。结构模式通过处理类或对象的组合来作用于企业级应用的设计结构,从而降低了应用的复杂性,提高了应用的可重用性和性能。行为模式的意图是一组对象之间的交互作用,以执行单个对象无法自己执行的任务。它描述了类或对象交互以及职责的分配。
那么,本文的核心话题是 Spring 如何通过使用大量设计模式和良好实践来构建应用程序。
一、掀起Spring的盖头来
Spring框架的由来

Spring框架概述

二、Spring的IoC容器
重头开始认识loC的基本概念:(构造方法注入+scttcr方法注入+接口注入)

运筹帷幄的秘密loC Service Provider:(直接编码方式+配置文件方式)

Spring 的loC容器之BeanFactory:(直接编码方式+出外部配置文件方式+注解方式+BeanFactorY的XML之旅)

Spring loC容器之App1icationContext:(统一资源加载策略+国际化信息支持+容器内部事件发布)

Spring loC容器之扩展篇:(基于注解的依赖注入)

三、你一直想搞定的Spring AOP框架
一起来看AOP:(AOP的尴价+AOP走向现实+Java平台上的AOP实现机制+AOP国家的公民)

**Spring AOP概述及其实现机制:(**Spring AOP概述+Spring AOP的实现机制)

**SpringAOP的一世:(**Spring AOP中的Joinpoint+Spring AOP中的Pointcut+Spring AOP中的Advice+Spring AOP的织入 )

SpringAOP的二世:(@AspectJ形式的Spring AOP+基于Schema的AOP**)**

AOP应用案例:(异常处理+安全检查)

**Spring AOP之扩展篇:**有关公开当前调用的代理对象

四、使用 Spring访问数据
统一的数据访问异常层次体系:(DA0模式的背景+梦想照进现实+发现问题+解决问题)

JDBC API的最佳实践:(基于Template的JDBC使用方式+基于操作对象的JDBC使用方式)

Spring对各种ORM的集成:(Spring对Hibernate的集成+Spring对iBATIS的集成+Spring中对其他ORM方案的集成)

Spring 数据访问之扩展篇:(活用模板方法模式及ca11back+数据访问中的多数据源)

五、事务管理
有关事务的楔子

群雄逐鹿下的 Java事务管理:(Java平台的局部事务支持+Java平台的分布式事务支持)

Spring事务王国的架构:

使用 Spring进行事务管理:(编程式事务管理+声明式事务管理)

**Spring事务管理之扩展篇:(**理解并活用ThreadLocal+谈Strategy模式在开发过程中的应用+Spring与JTA背后的奥秘)

六、Spring的 Web MVC框架
迈向 Spring MVC的旅程:

Spring MVC初体验:

近距离接触 Spring MVC:

认识更多 Spring MVC家族:(文件上传与MultipartResolver+框架内处理流程拦截与Handler+框架内的异常处理与Handler)

Spring MVC中基于注解的Contro1ler:(初识基于注解的Controller+基于注解的Controller原型分析)

Spring MVC之扩展篇:

七、Spring框架对J2EE服务的集成和支持
**Spring框架内的JNDI支持:(**JNDI简单回顾+pring框架内JNDI访问的基石)

**Spring框架对JMS的集成:(**说说JMS的身世+使用JMS API进行应用开发的传统套路)

使用 Spring发送E-mail:

**Spring中的任务调度和线程池支持:(**Spring对JDK Timer的集成+Executor的孪生兄弟)

Spring框架对J2EE服务的集成之扩展篇:

**Spring远程方案:(**Spring Remoting架构分析+扩展Spring Remoting+Spring Remoting之扩展篇)

















