三大框架 —— 業(yè)務(wù)層框架Spring+IoC+DI
1. 初識(shí)Spring框架
Spring是一個(gè)業(yè)務(wù)層框架,實(shí)現(xiàn)類ioc容器和aop。
用spring添加依賴
業(yè)務(wù)層主要處理業(yè)務(wù)邏輯如:
注冊時(shí)在業(yè)務(wù)層判斷用戶名是否存在。
獲取商品價(jià)格時(shí),判斷用戶是否是會(huì)員,商品有沒有參加店鋪活動(dòng),有沒有參加商城活動(dòng)。
@Service?:表示這個(gè)類是業(yè)務(wù)層的類,spring就會(huì)創(chuàng)建對(duì)象,放在容器中
@autowired:由spring提供的,spring框架從容器中找到一個(gè)類型為UserService 的對(duì)象并賦值。容器管理對(duì)象的生命周期。容器類似于池(池有大?。?br>eg:
@autowired
UserService userService;
2. IoC控制反轉(zhuǎn)
2.1 實(shí)現(xiàn)原理
IOC(控制反轉(zhuǎn))就是依賴倒置原則的一種代碼設(shè)計(jì)思路。就是把原先在代碼里面需要實(shí)現(xiàn)的對(duì)象創(chuàng)建、對(duì)象之間的依賴,反轉(zhuǎn)給容器來幫忙實(shí)現(xiàn)。
Spring IOC容器通過xml,注解等其它方式配置類及類之間的依賴關(guān)系,完成了對(duì)象的創(chuàng)建和依賴的管理注入。實(shí)現(xiàn)IOC的主要設(shè)計(jì)模式是工廠模式。
優(yōu)點(diǎn):
集中管理,實(shí)現(xiàn)類的可配置和易管理。
降低了類與類之間的耦合度。
2.2 代碼實(shí)現(xiàn)舉例


2.3 相關(guān)面試題
IOC和DI的關(guān)系
DI(依賴注入):由IOC容器在運(yùn)行期間, 動(dòng)態(tài)地將某種依賴關(guān)系注入到對(duì)象之中。
關(guān)系:
IoC(控制反轉(zhuǎn))是設(shè)計(jì)思想,IoC有三個(gè)核心:BeanFactory、反射、DI(依賴注入)。BeanFactory利用反射實(shí)現(xiàn)對(duì)象的創(chuàng)建,DI實(shí)現(xiàn)對(duì)象關(guān)系管理。
什么是自動(dòng)裝配
利用注解方式,我們只需要寫@Autowired注解,底層就會(huì)去容器中找對(duì)應(yīng)的對(duì)象,如果有獲取到,利用反射調(diào)用其對(duì)應(yīng)的set方法,設(shè)值。而這個(gè)調(diào)用過程都是自動(dòng),我們沒有手工去寫set方法。所以這個(gè)過程也稱為自動(dòng)裝配。
3. 框架原理 (代碼實(shí)現(xiàn))






想要了解更多可以點(diǎn)擊視頻學(xué)習(xí)更多哦~
【尚學(xué)堂】SpringCloudAlibaba大型項(xiàng)目實(shí)戰(zhàn)-貨幣交易項(xiàng)目