日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Spring(一):IOC如何推導和理解

瀏覽:30日期:2023-07-04 13:26:35
目錄IOC的推導1.1、模擬一個正常查詢信息的業務流程:1.2、多個種類的查詢1.3、優化查詢方式1.4、IOC本質IOC的推導1.1、模擬一個正常查詢信息的業務流程:

①mapper層:因為沒有連接數據庫,這里我們寫一個mapper的實現類來模擬數據的查詢

public interface PerMapper { void getPerInfo();}public class StudentMapperImpl implements PerMapper { @Override public void getPerInfo() {System.out.println('我是一個學生'); }}

②service層:service的作用是查詢人的信息

public interface PersonService { void getPersonInfo();}public class PersonServiceImpl implements PersonService { private PerMapper studentMapper = new StudentMapperImpl(); @Override public void getPersonInfo() {studentMapper.getPerInfo(); }}

③contorller層

import service.PersonService;import service.impl.PersonServiceImpl;public class IOCTest { public static void main(String[] args) {PersonService service = new PersonServiceImpl();service.getStudentInfo(); }}

④執行結果如下:

Spring(一):IOC如何推導和理解

image

1.2、多個種類的查詢

①mapper,增加老師實現類

public class TeacherMapperImpl implements PerMapper { @Override public void getPerInfo() {System.out.println('我是一個老師'); }}

②這時候我們同時查詢教師和學生的信息該怎么做呢?

public class PersonServiceImpl implements PersonService { private PerMapper student = new StudentMapperImpl(); private PerMapper teacher = new TeacherMapperImpl(); @Override public void getPersonInfo() {student.getPerInfo();teacher.getPerInfo(); }}

③執行結果:

Spring(一):IOC如何推導和理解

image

④如果需求再次變更呢?只需要教師的信息怎么做呢? 毋庸置疑:兩種做法, 一種是直接更改PersonServiceImpl的getPersonInfo()

@Override public void getPersonInfo() {//student.getPerInfo();teacher.getPerInfo(); }

第二種是擴展service層的接口,把老師和學生分別提供接口來查詢:

public interface PersonService { void getPersonInfo(); void getPersonInfo1();} public class PersonServiceImpl implements PersonService { private PerMapper student = new StudentMapperImpl(); private PerMapper teacher = new TeacherMapperImpl(); @Override public void getPersonInfo() {teacher.getPerInfo(); } @Override public void getPersonInfo1() {student.getPerInfo(); }}

⑤看起來好像沒啥問題是吧?那假如有一百種人呢?需要改來改去人都會瘋掉的。這種做法肯定不合理的!

1.3、優化查詢方式

①聰明的孩子可以想到將查詢的對象剝離出來:添加 set() 方法,對接口不實現,只進行預留的工作。

public class PersonServiceImpl implements PersonService { private PerMapper per; public void setPer(PerMapper per) {this.per = per; } @Override public void getPersonInfo() {per.getPerInfo(); }}

②controller層實現方式:

public class IOCTest { public static void main(String[] args) {PersonServiceImpl service = new PersonServiceImpl();//學生service.setPer(new StudentMapperImpl());service.getPersonInfo();//老師service.setPer(new TeacherMapperImpl());service.getPersonInfo(); }}

③總結:這種方式就是把主動權交給了調用者 ,程序不用去管怎么創建,怎么實現了 .,它只負責提供一個接口 。

我們不再去管理對象的創建了 , 更多的去關注業務的實現 ,耦合性大大降低 ,這也就是IOC的原型 !

1.4、IOC本質

控制反轉是一種通過描述(XML或注解)并通過第三方去生產或獲取特定對象的方式。在Spring中實現控制反轉的是IOC容器,其實現方法是依賴注入(Dependency Injection,DI)。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久麻豆视频| 国产三级一区| 精品视频自拍| 国产视频网站一区二区三区| 日韩av在线免费观看不卡| 在线观看一区| 亚洲第一精品影视| 亚洲二区三区不卡| 国产精品视区| 亚洲不卡av不卡一区二区| 涩涩av在线| 亚洲欧美综合| 久久在线91| 欧美xxxx中国| 丝袜美腿诱惑一区二区三区 | 精品美女久久| 久久字幕精品一区| 麻豆国产精品777777在线| 国产精品二区影院| 国产一区二区三区成人欧美日韩在线观看| 久久精品国产免费| 日韩欧美久久| 三上悠亚国产精品一区二区三区 | 日韩欧美一区二区三区在线观看 | 国产精品15p| 最新日韩av| 中文字幕人成乱码在线观看| 国产日韩一区二区三区在线 | 开心激情综合| 国产999精品在线观看| 亚洲国产成人二区| 免费精品国产的网站免费观看| 日韩精品影视| 在线 亚洲欧美在线综合一区| 精品1区2区3区4区| 日韩影院免费视频| 噜噜噜久久亚洲精品国产品小说| 黄色欧美日韩| 国产日本久久| 精品五月天堂| 91精品婷婷色在线观看| 九一精品国产| 日韩在线网址| 久久影院一区二区三区| 日韩欧美一区二区三区在线视频| 久久人人99| 日韩手机在线| 日韩综合精品| 欧美日韩在线观看视频小说| 99国产精品99久久久久久粉嫩| 91九色精品国产一区二区| 今天的高清视频免费播放成人| 欧美亚洲国产激情| 国产日韩欧美中文在线| 狠狠躁少妇一区二区三区| 激情欧美亚洲| 好吊一区二区三区| 91成人小视频| 国产精品av久久久久久麻豆网| 欧美一区91| 久久精品免费一区二区三区| 亚洲最大av| 黄毛片在线观看| 青青国产91久久久久久| 久久久久一区| 欧美日韩精品一区二区三区在线观看| 成人免费网站www网站高清| 99日韩精品| 激情综合五月| 麻豆精品91| 高潮一区二区| 奇米狠狠一区二区三区| 高清av不卡| 欧美日韩亚洲三区| 久久精品国产www456c0m| 国产精品午夜av| 国产精品婷婷| 久久精品91| 久久精品系列| 国产三级精品三级在线观看国产| 亚洲欧美久久| 国产综合精品一区| 日韩综合一区二区| 久久性天堂网| 99热精品在线| 伊人成人网在线看| 日韩午夜电影| 欧美网站在线| 欧美日韩国产在线观看网站| 日韩av首页| 日韩欧美三级| 99久久亚洲精品蜜臀| 美腿丝袜亚洲一区| 青草国产精品| 国产精品乱战久久久| 欧美伊人影院| 99久久婷婷| 日韩不卡一区二区三区| 午夜电影一区| 国产资源在线观看入口av| 亚洲制服欧美另类| 91一区二区三区四区| 亚洲精品97| 日韩av网站在线观看| 精品国产一区二| 国产亚洲精品久久久久婷婷瑜伽| 日韩av网站在线免费观看| 欧洲av一区二区| 日韩一区二区三区高清在线观看| 国产精区一区二区| 欧美亚洲在线日韩| 欧美精品中文| 中文字幕人成乱码在线观看 | 99国产精品| 日韩欧美中文字幕在线视频| 麻豆久久一区| 亚洲欧美伊人| 一区在线免费| 国产精品一线天粉嫩av| 日韩在线短视频| 国产精品99久久免费观看| 国产亚洲毛片| 激情欧美日韩一区| 日韩在线第七页| 日本一区中文字幕| 一区二区电影在线观看| 久久久人人人| 亚洲美女久久| 国产精品最新| 99精品网站| 99国产精品久久久久久久成人热| 日本aⅴ免费视频一区二区三区| 日韩不卡免费高清视频| 日本不卡视频在线观看| 久久精品凹凸全集| 日韩亚洲在线| 欧美1级日本1级| 天堂√中文最新版在线| 精品久久网站| 欧美日韩水蜜桃| 国内精品美女在线观看| 不卡一区2区| 亚洲成人不卡| 久久伦理在线| 免费一级欧美片在线观看网站| 99视频精品全部免费在线视频| 视频精品一区| 99成人在线| 精品国产第一福利网站| 欧美日韩一区二区三区在线电影| 日韩电影在线视频| 国产精品22p| 国产精品亚洲人成在99www| 免费精品国产的网站免费观看| 婷婷亚洲成人| 亚洲精品97| 欧美一级全黄| yellow在线观看网址| 巨乳诱惑日韩免费av| 亚洲一区二区免费看| 日韩一区中文| 国产精品嫩草影院在线看| 电影91久久久| 国产三级一区| 国产一区二区三区久久久久久久久| 1024精品一区二区三区| 亚洲综合国产| 91亚洲精品在看在线观看高清 | 日韩一区亚洲二区| 成人在线视频中文字幕| 日本а中文在线天堂| 亚洲综合在线电影| 日韩电影免费在线观看| 免费一二一二在线视频| 亚洲少妇诱惑| 亚洲午夜国产成人| 在线观看视频免费一区二区三区| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产精品激情| 中文字幕乱码亚洲无线精品一区| 欧美日韩亚洲在线观看| 日韩在线麻豆| 石原莉奈在线亚洲三区| 久久av在线| 欧美激情福利| 久久影视三级福利片| 成人精品中文字幕| 免费久久99精品国产自在现线| 奇米色欧美一区二区三区| 久久精品天堂| 黄色成人精品网站| 日韩av黄色在线| 国产极品模特精品一二| 中文字幕系列一区| 1024精品一区二区三区| 男女精品网站| 欧美日韩网址| 四虎影视精品| 午夜日韩av| 久久精品99国产精品|