淺談spring中用到的設(shè)計(jì)模式及應(yīng)用場(chǎng)景
1、工廠模式,在各種BeanFactory以及ApplicationContext創(chuàng)建中都用到了
2、模版模式,在各種BeanFactory以及ApplicationContext實(shí)現(xiàn)中也都用到了
3、代理模式,Spring AOP 利用了 AspectJ AOP實(shí)現(xiàn)的! AspectJ AOP 的底層用了動(dòng)態(tài)代理
動(dòng)態(tài)代理有兩種
目標(biāo)方法有接口時(shí)候自動(dòng)選用 JDK 動(dòng)態(tài)代理
目標(biāo)方法沒(méi)有接口時(shí)候選擇 CGLib 動(dòng)態(tài)代理
4、策略模式,加載資源文件的方式,使用了不同的方法,比如:ClassPathResourece,F(xiàn)ileSystemResource,ServletContextResource,UrlResource但他們都有共同的借口Resource;在Aop的實(shí)現(xiàn)中,采用了兩種不同的方式,JDK動(dòng)態(tài)代理和CGLIB代理
5、單例模式,比如在創(chuàng)建bean的時(shí)候。
以上是本人查閱資料以及自己的一些理解,里面應(yīng)該還有其他設(shè)計(jì)模式,總之還是要多敲多研究。
這篇淺談spring中用到的設(shè)計(jì)模式及應(yīng)用場(chǎng)景就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
10個(gè)Elasticsearch查詢的實(shí)用技巧分享
Elasticsearch是一個(gè)非常流行的搜索引擎,已經(jīng)成為了許多企業(yè)的首選解決方案。本文將向大家介紹10個(gè)實(shí)用的Elasticsearch查詢技巧,并配上對(duì)應(yīng)的代碼示例,希望對(duì)大家有所幫助2023-04-04Springcloud ribbon負(fù)載均衡算法實(shí)現(xiàn)
這篇文章主要介紹了Springcloud ribbon負(fù)載均衡算法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04java多線程之線程,進(jìn)程和Synchronized概念初解
這篇文章主要介紹了java多線程之線程,進(jìn)程和Synchronized概念初解,涉及進(jìn)程與線程的簡(jiǎn)單概念,實(shí)現(xiàn)多線程的方式,線程安全問(wèn)題,synchronized修飾符等相關(guān)內(nèi)容,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-11-11關(guān)于FastJson?long?溢出問(wèn)題的小結(jié)
這篇文章主要介紹了關(guān)于FastJson?long?溢出問(wèn)題的小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2022-01-01Java中Pattern用法實(shí)例(正則表達(dá)式)
Pattern在java.util.regex包中,是正則表達(dá)式的編譯表示形式,此類的實(shí)例是不可變的,可供多個(gè)并發(fā)線程安全使用,下面這篇文章主要給大家介紹了關(guān)于Java正則表達(dá)式Pattern用法的相關(guān)資料,需要的朋友可以參考下2022-07-07SpringBoot整合aop面向切面編程過(guò)程解析
這篇文章主要介紹了SpringBoot整合aop面向切面編程過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02