色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

手把手教你寫一個spring IOC容器的方法

瀏覽:23日期:2023-07-18 08:11:32

本文分享自華為云社區《手把手教你寫一個spring IOC容器》,原文作者:技術火炬手。

spring框架的基礎核心和起點毫無疑問就是IOC,IOC作為spring容器提供的核心技術,成功完成了依賴的反轉:從主類的對依賴的主動管理反轉為了spring容器對依賴的全局控制。今天就帶大家手寫一個spring IOC容器。

第0步(準備工作):

(1)JDK1.8及java環境變量(2)maven包及maven環境變量(3)idea

第1步(創建項目,引入tomcat包)

PS:由于該項目的作用是模擬spring的部分功能,所以取名為spring

(1)創建好的項目內容如下圖:

手把手教你寫一個spring IOC容器的方法

(2)pom文件的初始狀態如下:

手把手教你寫一個spring IOC容器的方法

第2步:搭建主體框架

PS:一個正常的spring項目一般分為controller和service部分,此處暫時忽略數據庫鏈接

手把手教你寫一個spring IOC容器的方法

(1)其中,TestController實現功能,返回name+“Hello World!”,引用TestService

手把手教你寫一個spring IOC容器的方法

(2)而TestService和TestServiceImpl則分別實現功能

手把手教你寫一個spring IOC容器的方法

第3步:創建,并打上標簽

PS:我們需要很多標簽,如service,controller,還有autowired等

(1)創建各種標簽(暫時創建這些標簽,后面不夠再加)

手把手教你寫一個spring IOC容器的方法

(2)打上標簽

手把手教你寫一個spring IOC容器的方法

手把手教你寫一個spring IOC容器的方法

由于RequestMpping后面需要跟路徑,所以此處需要重寫其value()方法,如下:

手把手教你寫一個spring IOC容器的方法

第4步:進入正題,創建一個DisPatcherServlet類,用于實現IOC容器功能

(1)DisPatcherServlet繼承HttpServlet(注意添加依賴),并重寫doGet,doPost方法

手把手教你寫一個spring IOC容器的方法

(2)創建一個doDispatcher方法,并被doPost引用

手把手教你寫一個spring IOC容器的方法

第5步:初始化

(1)暫停實現doDispatcher,去重寫初始化方法init,初始化共分為五大步驟,如下

手把手教你寫一個spring IOC容器的方法

注意:頂端要加上屬性類(Properties),且要resource中加application.properties,并加上scanPackage屬性,內容為需掃描的根目錄

手把手教你寫一個spring IOC容器的方法

(2)加載配置文件實現,需要先配置一個web.xml,路徑和內容如下:

路徑:

手把手教你寫一個spring IOC容器的方法

內容:

手把手教你寫一個spring IOC容器的方法

剩下的內容,大家應該能看懂的吧

手把手教你寫一個spring IOC容器的方法

(3)下一步,使用遞歸,將所有class的路徑存入一個集合(classPaths)里面

手把手教你寫一個spring IOC容器的方法

(4)下一步,將打上了controller和service標簽的類放入ioc容器中

手把手教你寫一個spring IOC容器的方法

(5)下一步,注入(通過Autowired標簽從IOC容器中獲取實例對象并賦值)

手把手教你寫一個spring IOC容器的方法

(6)獲取所有的RequestMapping內容,并寫到一個對象集合中

第6步:回頭實現doDisPatcher的步驟

手把手教你寫一個spring IOC容器的方法

(1)首先,設定404(class notfound)(2)后面一半,實現接口功能PS1:判斷url方法PS2:根據url獲取方法PS3:獲取方法下的所有參數

最后一步:執行tomcat…

so,

(1)你以為以上的內容是對的嘛?(2)你以為你能得到想要的結果嗎?

太天真了!!!

如果你按照我說的方法去運行,恭喜你,得到的結果是not found!!!真正的挑戰才剛剛開始:

第一,標簽類的定義,如下,特別重要的是Target

手把手教你寫一個spring IOC容器的方法

還需要補充一個mapping

手把手教你寫一個spring IOC容器的方法

第二,TestController類中,RequestParam少了value屬性,如果沒有,則無法傳值。

手把手教你寫一個spring IOC容器的方法

第三,那么參數初始化,是不是也有一點問題呢?注意這段代碼,傳參的名字應該和什么相關?

手把手教你寫一個spring IOC容器的方法

好了 現在真的可以成功了~~~

手把手教你寫一個spring IOC容器的方法

看看結果吧。

手把手教你寫一個spring IOC容器的方法

完結撒花~~~

到此這篇關于手把手教你寫一個spring IOC容器的文章就介紹到這了,更多相關spring IOC容器內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 久久久久在线视频 | www.夜色.com| 午夜性爽视频男人的天堂在线 | 精品一区二区三区五区六区 | 国产精品久久久久免费视频 | 欧美视频免费一区二区三区 | 波多野一区二区三区在线 | 精品国产日韩亚洲一区二区 | 国产精品精品国产一区二区 | 正在播放国产一区 | 欧美观看一级毛片 | 久久99精品久久久久久综合 | 日本三级韩国三级在线观看a级 | 欧美在线综合视频 | 精品9e精品视频在线观看 | 午夜国产精品不卡在线观看 | 久久99热精品免费观看k影院 | 欧美色欧美亚洲高清在线视频 | 亚洲视频免费在线观看 | 成人免费视频软件网站 | 精品久久久久不卡无毒 | 日韩成人在线观看 | 国产精品亚洲精品日韩已方 | 91久久国产露脸精品 | 欧美毛片日韩一级在线 | 精品久久久中文字幕二区 | 美女张开腿让人捅 | 欧美观看一级毛片 | 日本精品国产 | 国产婷婷一区二区三区 | 亚洲精品一二三区-久久 | 日韩视频精品在线 | 毛片网站在线 | www中文字幕在线观看 | 欧美在线日韩在线 | 亚洲人成网站色7799在线观看 | 色盈盈影院 | 极品色在线精品视频 | 成人毛片免费播放 | 一级毛片免费不卡在线 | 国产欧美日韩精品第二区 |