亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我們應該將每個對象都暴露為 spring bean 嗎?

我們應該將每個對象都暴露為 spring bean 嗎?

滄海一幻覺 2023-12-13 14:55:35
class TibcoPasswordRetriever {    private TibcoPasswordUtil tibcoPasswordUtil;    public TibcoPasswordRetriever(TibcoPasswordUtil tibcoPasswordUtil) {        this.tibcoPasswordUtil = tibcoPasswordUtil;    }}class TibcoPasswordRetriever {    private TibcoPasswordUtil tibcoPasswordUtil;    public TibcoPasswordRetriever() {        this.tibcoPasswordUtil = new TibcoPasswordUtil();    }}這是 TibcoPasswordRetriever 的兩個定義。問題:我僅在 TibcoPasswordRetriever 類中使用 TibcoPasswordUtil。依賴注入仍然是一個好主意嗎?進一步的問題:我們是否應該創建將每個可能的對象公開為 spring bean(只是因為可以這樣做)
查看完整描述

2 回答

?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

問題:我僅在 TibcoPasswordRetriever 類中使用 TibcoPasswordUtil。依賴注入仍然是一個好主意嗎?

如果TibcoPasswordUtilSingletone. 您沒有TibcoPasswordUtil在問題中提供課程。添加Util到名稱在這里并不意味著很多??紤]寫更多關于架構和背景的文章。

進一步的問題:我們是否應該創建將每個可能的對象公開為 spring bean(只是因為可以這樣做)

不,不是,因為更好的解決方案是不要太依賴框架。問自己這樣的問題:

如果你不需要,那么為什么它有好處呢?

為什么不這樣做有好處呢?

就像我上面寫的那樣,更少耦合的代碼更好。將來改變框架等會更容易。


查看完整回答
反對 回復 2023-12-13
?
繁花不似錦

TA貢獻1851條經驗 獲得超4個贊

不,除非有需要,否則不應將每個對象都公開為 Spring bean。那些您認為必須由框架實例化和維護的類必須成為一個 bean。此類類的一個示例是數據庫訪問類。這些類型的類可能有多種實現,并且選擇使用哪個實現可能取決于某些外部配置。在這種情況下,您可以將管理實例的責任委托給框架。

如果您確定您正在使用的 Util 類只有一種類型,并且管理其實例時不會增加任何復雜性(就像它必須是 Singleton),那么您不必將其設為 bean。


查看完整回答
反對 回復 2023-12-13
  • 2 回答
  • 0 關注
  • 193 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號