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

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring?Boot實(shí)現(xiàn)第一次啟動(dòng)時(shí)自動(dòng)初始化數(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è)置小數(shù)的位數(shù),所以下面這篇文章主要給大家介紹了關(guān)于JAVA把結(jié)果保留兩位小數(shù)的3種方法,文章通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-08-08
java多線程中執(zhí)行多個(gè)程序的實(shí)例分析
在本篇文章里小編給大家整理的是一篇關(guān)于java多線程中執(zhí)行多個(gè)程序的實(shí)例分析內(nèi)容,有需要的朋友們可以學(xué)習(xí)參考下。2021-02-02

