spring中用到的设计模式及应用场景

JAVA学习网 2017-08-18 13:40:01

1.工厂模式,在各种BeanFactory以及ApplicationContext创建中都用到了

2.模版模式,在各种BeanFactory以及ApplicationContext实现中也都用到了

3.代理模式,Spring AOP 利用了 AspectJ AOP实现的! AspectJ AOP 的底层用了动态代理

动态代理有两种

    目标方法有接口时候自动选用 JDK 动态代理

    目标方法没有接口时候选择 CGLib 动态代理

4.策略模式,加载资源文件的方式,使用了不同的方法,比如:ClassPathResourece,FileSystemResource,ServletContextResource,UrlResource但他们都有共同的借口Resource;在Aop的实现中,采用了两种不同的方式,JDK动态代理和CGLIB代理

5.单例模式,比如在创建bean的时候。

以上以本人查阅资料以及自己的一些理解,里面应该还有其他设计模式,总之还是要多敲多研究。

阅读(810) 评论(0)