工厂模式,BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象。
单例模式,Spring依赖注入Bean实例默认是单例的,依赖注入(包括lazy-init方式)都是发生在AbstractBeanFactory的getBean里,getBean的doGetBean方法调用getSingleton进行bean的创建。
策略模式,Spring框架的资源访问Resource接口,该接口提供了更强的资源访问能力,使用Resource接口来访问底层资源。
适配器模式,Spring AOP的实现基于代理模式,但是Spring AOP的增强或通知(Advice)使用到了适配器模式,例如AdvisorAdapter、MethodBeforeAdviceAdapter。
代理模式,AOP底层实现就是动态代理模式的实现。
观察者模式,Spring的事件驱动模型使用的是观察者模式 ,Spring中Observer模式常用的地方是listener的实现。如:ApplicationContextEvent、ApplicationListener。
装饰器模式,Spring中用到的包装器模式在类名上有两种表现:一种是类名中含有Wrapper,另一种是类名中含有Decorator。
模板方法模式,用来解决代码重复的问题,比如:RestTemplate、JmsTempl