日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring源码由浅入深系列一 简介

發(fā)布時間:2023/12/20 javascript 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring源码由浅入深系列一 简介 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

概述:

? ? ? ? Spring是一個企業(yè)級的開源框架。它提供輕量級的依賴注入、面向切面編程、全方位的整合框架。
下圖是Spring框架的組成部分,各部分內(nèi)容作了簡單說明。


依賴注入:?
? ? ? ??依賴注入是Spring框架的靈魂。它是一種解耦組件之間關(guān)系的高層設(shè)計模式。

依賴注入案例分析:
? ? ? ??現(xiàn)在有一個業(yè)務(wù)流程中需要把數(shù)據(jù)保存到軟盤中去。最直觀的方法就是直接在業(yè)務(wù)流程中創(chuàng)建一個軟盤,用軟盤的方式保存數(shù)據(jù)。如下圖:

? ? ? ??那如果現(xiàn)在業(yè)務(wù)變更,我可以讓客戶選擇用軟盤來保存數(shù)據(jù),或者是U盤。那可能的解決方式是面向接口編程,由工廠幫助我們?nèi)?chuàng)建具體介質(zhì)。如下圖所示:

? ? ? ??在這里請注意,我們通常的做法是在業(yè)務(wù)流程中,根據(jù)客戶的選擇,由工廠生成一個特定介質(zhì)給業(yè)務(wù),這就是我們常說的簡單工廠模式。但是,也可以利用反射在工廠里去創(chuàng)建、裝配業(yè)務(wù)與介質(zhì)。業(yè)務(wù)與具體的介質(zhì)完全沒有關(guān)系,由工廠提供。這時候工廠就變?yōu)榱艘粋€依賴注入的容器。在Spring中,這個容器由BeanFactory實現(xiàn)。
? ? ? ??Spring的靈魂是依賴注入,依賴注入靈魂就是反射。它的整個實現(xiàn)都是由Java反射去支撐的。

面向切面:

? ? ? ??把一些公共功能定義成單獨對象,然后在不修改其它類的前提下,將公共功能加入到這些類中。面向切面常用于緩存統(tǒng)一處理、統(tǒng)一異常處理等等。

AOP(面向切面)概念:
? ? ? ??Joinpoint(連接點): 程序執(zhí)行過程中某個特定的點,比如方法調(diào)用的時候或者拋出異常的時候
? ? ? ??PointCut(切入點): 需要被添加上通知的連接點的集合。
? ? ? ??Advice(通知): 在連接點,動態(tài)嵌入的一段獨立代碼(通知常用來調(diào)用系統(tǒng)組件方法)。
? ? ? ??Aspect(切面): 切入點和Advice的結(jié)合(抽象概念:定義在切入點調(diào)用通知)
? ? ? ??Target(目標(biāo)對象): 需要被添加上Advice的對象
? ? ? ??代理對象:AOP框架生成的對象。在目標(biāo)對象的基礎(chǔ)上,添加了其他操作

? ? ? ??面向切面的實現(xiàn)是通過動態(tài)代理實現(xiàn)的:JDK動態(tài)代理、CGLIB動態(tài)代理。

? ? ? ??這一章,主要從宏觀上把握Spring.到下一章,我們開始剖析Spring的源碼。

轉(zhuǎn)載于:https://www.cnblogs.com/writeLessDoMore/p/6939408.html

總結(jié)

以上是生活随笔為你收集整理的Spring源码由浅入深系列一 简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。