簡單了解SPRINGIOC的底層原理演變過程
1.傳統(tǒng)方式 UserService us = new UserService(); (UserService為一個java類,直接實例化成對象再進行操作)
2.面向接口 UserService us = new UserServiceImp(); (UserService為一個接口,UserServiceImp為接口實現(xiàn)類)
這樣會導致web層和業(yè)務層產(chǎn)生耦合,程序設計應滿足ocp原則
此時,若我想切換實現(xiàn)類,則我需要在代碼中將UserServiceImp修改掉
3.工廠模式 創(chuàng)建工廠類,通過工廠類返回對象 但此時接口和工廠類又會產(chǎn)生耦合
此時,若我想切換實現(xiàn)類,則我需要在工廠類中將UserServiceImp修改掉
4. 工廠 + 反射 +配置文件 實現(xiàn)解耦
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
springboot+redis實現(xiàn)簡單的熱搜功能
這篇文章主要介紹了springboot+redis實現(xiàn)一個簡單的熱搜功能,通過代碼介紹了過濾不雅文字的過濾器,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05Java 實戰(zhàn)范例之進銷存管理系統(tǒng)的實現(xiàn)
讀萬卷書不如行萬里路,只學書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+vue+Springboot+ssm+mysql+maven+redis實現(xiàn)一個前后端分離的進銷存管理系統(tǒng),大家可以在過程中查缺補漏,提升水平2021-11-11SpringBoot項目報錯:"Error?starting?ApplicationContext....
這篇文章主要給大家介紹了關于SpringBoot項目報錯:“Error?starting?ApplicationContext.?To?display?the?conditions?report?re-run?...”的解決辦法,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-08-08實例解析使用Java實現(xiàn)基本的音頻播放器的編寫要點
這篇文章主要介紹了使用Java實現(xiàn)基本的音頻播放器的代碼要點實例分享,包括音頻文件的循環(huán)播放等功能實現(xiàn)的關鍵點,需要的朋友可以參考下2016-01-01Java多線程案例實戰(zhàn)之定時器的實現(xiàn)
在Java中可以使用多線程和定時器來實現(xiàn)定時任務,下面這篇文章主要給大家介紹了關于Java多線程案例之定時器實現(xiàn)的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-01-01