淺談spring中用到的設(shè)計模式及應(yīng)用場景
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)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
利用IDEA工具修改Maven多模塊項目標(biāo)識包名全過程記錄
當(dāng)我們?yōu)榧追椒?wù)提供軟件開發(fā)服務(wù)時,需要按照甲方的要求去修改軟件的標(biāo)識,對于Maven項目來說就對應(yīng)著groupId,一般地寫對方公司的域名,如com.example,接下來通過本文給大家分享IDEA修改Maven多模塊項目標(biāo)識包名,感興趣的朋友一起看看吧2022-09-09
詳解java并發(fā)編程(2) --Synchronized與Volatile區(qū)別
這篇文章主要介紹了Synchronized與Volatile區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
java評論、回復(fù)功能設(shè)計與實(shí)現(xiàn)方法
很多項目或者系統(tǒng)都有評論或者回復(fù)的需求,但評論回復(fù)的實(shí)現(xiàn)往往都比較復(fù)雜,也不好實(shí)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于java評論、回復(fù)功能設(shè)計與實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2022-06-06
簡單講解Android開發(fā)中觸摸和點(diǎn)擊事件的相關(guān)編程方法
這篇文章主要介紹了Android開發(fā)中觸摸和點(diǎn)擊事件的相關(guān)編程方法,包括事件偵聽器等安卓開發(fā)中常用的接口的基本使用方法,需要的朋友可以參考下2015-12-12
Java實(shí)現(xiàn)十秒向MySQL插入百萬條數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了Java如何實(shí)現(xiàn)十秒向MySQL插入百萬條數(shù)據(jù),文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)或工作有一定借鑒價值,需要的可以參考一下2022-11-11
SpringBoot開發(fā)技巧之使用AOP記錄日志示例解析
這篇文章主要為大家介紹了SpringBoot開發(fā)技巧之如何利用AOP記錄日志的示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10

