PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Soft_Job
Re: [請益] Spring boot的依賴注入降低耦合的例子
作者:
ripple0129
(perry tsai)
2022-04-01 02:10:25
很久沒寫Java了
就個人觀念提供簡單思考線索
基本上根據你的內容覺得你對解耦合還沒有很理解
講直白一點
當你import類別就是耦合了
而你import的是介面不是類別就是解耦合了
因為類別提供了實作
import A是介面
A還沒有實作
實作由@autowire注入類別物件使用
所以實作可以抽換
你把import的東西仔細看一下哪些是import到類別
全部替換為介面
再透過介面來呼叫使用
物件由autowire來自動生成使用
這樣就是解耦了
希望能幫助到你
作者:
ntpuisbest
(阿龍)
2022-04-01 08:11:00
這個好像有看到例子,感覺跟版友說的qualfied註解有關
作者:
drajan
(EasoN)
2022-04-01 09:42:00
其實就是一個觀念 「當實作依賴於抽象而非實作 就是解耦」
作者:
ntpuisbest
(阿龍)
2022-04-01 10:10:00
然後必須要靠autowired才能幫我們注入被實作的class?那如果沒有autowired又想靠介面隔離怎辦?
作者:
tw11509
(John-117)
2022-04-01 10:44:00
Autowired就是Spring的DI,如果是每次都要New,Spring有提供另一個Scope的註解當然你還是要autowired還有介面不能直接New沒錯,所以你一定是呼叫某個method他的type是你要的interface,真的回什麼就是看你的實作了
作者:
ntpuisbest
(阿龍)
2022-04-01 11:11:00
應該說如果不依靠框架,單純自己想實作介面隔離原則怎辦
作者:
bheegrl
2022-04-01 12:00:00
泛型+參數檔+mapping用的util,拿到實際你要用的object
作者:
liturtle
(無法定義)
2022-04-01 12:00:00
這些觀念是共通的,只是 spring 有直接寫好的 autowired可以用,沒有框架自己實作也可以
作者:
bheegrl
2022-04-01 12:01:00
不過這樣很搞就是了
作者:
ntpuisbest
(阿龍)
2022-04-01 12:31:00
https://tw511.com/a/01/16644.html
感覺這個有點像
作者:
KY1998
(HAN)
2022-04-01 13:05:00
@Resource(“name”)也可以
作者: CRPKT (crpkt)
2022-04-02 01:01:00
自己實作就是用 Reflection API
作者:
randall1234
(威軒沙)
2022-04-02 07:32:00
自己搞就是用反射
繼續閱讀
[請益] Spring boot的依賴注入降低耦合的例子
ntpuisbest
[請益] offer 精誠 奕兆 IBM 宏碁資訊 瑪黑家居
nelson220011
[贈送] 程式相關書籍 (已送出)
crowley
[請益] 研究所該往哪個方向發展?
simon0731
[徵才] 外包韌體工程師(已徵到囉,請勿再來信,謝謝)
deach
[情報] 金融證券期貨業務人員訓練班-政府補助
SZBZ
[心得] 學士Fintech產業薪資分享
water7278
[問卷] 募資專案態度問卷(抽200元禮卷+50P)
edta56
Fw: [請益] OFFER請益
targa123
[心得]非本科轉職後端心得
gigi50824
Links
booklink
Contact Us: admin [ a t ] ucptt.com