1、工廠模式,在各種BeanFactory以及ApplicationContext創(chuàng)建中都用到了
2、模版模式,在各種BeanFactory以及ApplicationContext實現中也都用到了
3、代理模式,Spring AOP 利用了 AspectJ AOP實現的! AspectJ AOP 的底層用了動態(tài)代理
動態(tài)代理有兩種
目標方法有接口時候自動選用 JDK 動態(tài)代理
目標方法沒有接口時候選擇 CGLib 動態(tài)代理
4、策略模式,加載資源文件的方式,使用了不同的方法,比如:ClassPathResourece,FileSystemResource,ServletContextResource,UrlResource但他們都有共同的借口Resource;在Aop的實現中,采用了兩種不同的方式,JDK動態(tài)代理和CGLIB代理
5、單例模式,比如在創(chuàng)建bean的時候。
以上是本人查閱資料以及自己的一些理解,里面應該還有其他設計模式,總之還是要多敲多研究。
這篇淺談spring中用到的設計模式及應用場景就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。