最近 macos 上的 edge 瀏覽器流出,趁著換瀏覽器把一些收藏的書籤整理一下.
我比較關注 idea 的提示,尤其是右側的出現黃線的警告,當我使用 @autowired 進行依賴注入時,idea 會出現下面的警告:
field injection is not recommended後來查了一下原因,正好整理出來,首先看一下有哪些依賴注入的方式
建構函式注入 ,這也是比較推薦的方式
setter或者其他方法注入
字段注入
這三種其實都可以使用 @autowired 註解,只是註解修飾的是建構函式,方法,還是欄位.
只需要使用 @autowired 就很容易的進行依賴注入,為什麼說這是個缺點呢,因為這種方便可能讓你放棄對依賴的思考,結果就是你的類的依賴可能是十幾個或者更多,這樣違反了spr.
對單元測試不友好,你沒辦法直接初始化這個類,必須依賴 di 容器.
類的依賴被隱藏起來,並不能像建構函式那樣在初始化時,就直觀的知道這個類有哪些依賴.
你的類跟di容器強耦合在一起.
為什麼不推薦使用外來鍵?
外來鍵的優點 一 資料一致性 由資料庫自身保證資料一致性 完整性會更可靠,程式很難100 保證資料的一致性 完整性 二 er圖可靠性 有主外來鍵的資料庫設計可以增加er圖的可讀性 外來鍵的缺點 一 級聯問題 阿里巴巴的開發手冊中,就曾指出強制要求不允許使用外來鍵,一切外來鍵概念必須在應用層解決。因為...
mysql為什麼不推薦使用uuid作為主鍵
前言 在mysql中設計表的時候,mysql官方推薦不要使用uuid或者不連續不重複的雪花id long形且唯一 而是推薦連續自增的主鍵id,官方的推薦是auto increment,那麼為什麼不建議採用uuid,使用uuid究竟有什麼壞處?本篇部落格我們就來分析這個問題,一下內部的原因。1.1 要...
為什麼我不推薦敏捷開發?
當專案成員越多,我越不推薦敏捷開發,原因在於 當連自己要做什麼事 為什麼這樣做 這樣做為了解決什麼問題 都搞不清楚前,就跳下去玩敏捷開發,那和比通靈還慘,通靈起碼還有個目標物在前面,搞不清楚狀況的人只能陪他跳世界迷霧開地圖了 敏捷開發 mba智庫百科 最下方有段 對敏捷開發的誤解 可順便參考 敏捷軟...