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

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的时候。

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

这篇浅谈spring中用到的设计模式及应用场景就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(浅谈spring中用到的设计模式及应用场景)