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