簡單了解SPRINGIOC的底層原理演變過程
1.傳統(tǒng)方式 UserService us = new UserService(); (UserService為一個java類,直接實例化成對象再進(jìn)行操作)
2.面向接口 UserService us = new UserServiceImp(); (UserService為一個接口,UserServiceImp為接口實現(xiàn)類)
這樣會導(dǎo)致web層和業(yè)務(wù)層產(chǎn)生耦合,程序設(shè)計應(yīng)滿足ocp原則
此時,若我想切換實現(xiàn)類,則我需要在代碼中將UserServiceImp修改掉
3.工廠模式 創(chuàng)建工廠類,通過工廠類返回對象 但此時接口和工廠類又會產(chǎn)生耦合
此時,若我想切換實現(xiàn)類,則我需要在工廠類中將UserServiceImp修改掉
4. 工廠 + 反射 +配置文件 實現(xiàn)解耦

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring?Boot實現(xiàn)第一次啟動時自動初始化數(shù)據(jù)庫流程詳解
在現(xiàn)在的后端開發(fā)中,只要是使用關(guān)系型數(shù)據(jù)庫,相信SSM架構(gòu)(Spring?Boot?+?MyBatis)已經(jīng)成為首選,本文就以Spring?Boot?+?MyBatis為例,使用MySQL作為數(shù)據(jù)庫,完成數(shù)據(jù)庫初始化功能,文中有詳細(xì)的代碼示例,需要的朋友可以參考下2023-05-05
JAVA把結(jié)果保留兩位小數(shù)的3種方法舉例
在寫程序的時候,有時候可能需要設(shè)置小數(shù)的位數(shù),所以下面這篇文章主要給大家介紹了關(guān)于JAVA把結(jié)果保留兩位小數(shù)的3種方法,文章通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-08-08

