Spring框架入門01 理解Spring的DI

2021-06-07 00:17:35 字數 2672 閱讀 2049

ps:很少寫博~看了一篇文章受了刺激~決定也寫寫部落格~文筆很次大家喜歡看就看,不喜歡也別拍磚~

很久很久以前~~

在美麗的城堡裡面住著一位漂亮的公主,他和他的家人、朋友幸福的生活著;

有一天**的格格巫來到了這個城堡,他看見了漂亮的公主於是她決定要將公主搶走~

格格巫使用了乙個**的魔法將公主抓了起來,公主很害怕、國王很著急~

這是來了乙個真正的勇士他的名字叫做小灰灰~~~

小灰灰偉大的英雄~他經歷的千難萬險拯救了公主~

公主深深的愛上了小灰灰~從此他們幸福的在一起白頭偕老~

這是一段美麗的故事,指頭人們決定將這段感人的歷史記錄下來

/**

* 偉大的英雄

*/public class hero

public princess embarkonquest() throws princessnotfoundexception

}/**

* 艱難的拯救任務

*/public class rescuequest

}/**

* 美麗的公主

*/public class princess

}

於是指頭人開始嘗試演繹這段歷史~

/**

* 指頭人們嘗試演繹這段歷史

*/public class storytest extends testcase

public static test gettestsuit()

public void teststory() throws princessnotfoundexception

}

在公開表演之前他們信心十足~但細心的指頭人們還是決定進行一次彩排~

可怕的事情發生了~

**他們的英雄需要乙個拯救任務!他們測試英雄的描述就等於間接的測試了乙個拯救任務,而拯救任務又關聯了一場異常....

**這樣他們根本沒有辦法可控的驗證英雄的形象是否可靠~

聰明的指頭人發現了問題的關鍵~hero怎麼獲得rescuequest的?

不管hero是例項化了乙個rescuequest還是從jndi查詢了乙個quest,hero都要負責去獲得乙個任務。

但是給英雄設定障礙應該是可惡的格格巫的工作啊~

問題出現了我們的hero依賴quest

**************指頭人的回憶錄**************

在業務處理過程中常常需要多個物件相互關聯才能進行。

這種耦合是乙個雙頭怪:

他常常給我們帶來問題,但是沒有耦合我們卻什麼都不能做。

這種耦合有時候叫做依賴~

通常解決耦合的方法就是講具體的實現類隱藏在介面之下

這樣替換具體的實現類就不會影響引用類

**************************************

於是乎指頭人從新修改了他們的描述

他們建立乙個抽象的介面代表rescuequest

public inte***ce quest

並且修改了其它的類以適應這次修改,對於指頭人這是一次痛苦的經歷

但是問題並沒有好轉,因為即使是這樣小灰灰還是只能進行拯救公主的冒險

**************指頭人的回憶錄**************

問題是該樣小灰灰自己去獲取乙個任務

還是應該由格格巫給他乙個任務

這是問題的關鍵

**************************************

指頭人修改了hero讓他可以被給予乙個任務而不是自己去獲取乙個任務

他們給他新增了乙個setter

public class hero 

public object embarkonquest() throws questfaildexception

public void setquest(rescuequest quest)

}

好了現在小灰灰可以接受挑戰啦~~~

我們來看看格格巫是怎麼給小灰灰賦予乙個挑戰的~

<?xml version="1.0" encoding="utf-8"?>

/**

* 指頭人們嘗試演繹這段歷史

*/public class storytest extends testcase

public static test gettestsuit()

// public void teststory() throws questfaildexception

public void teststory2() throws questfaildexception

}

好吧~

我承認我的故事講得很爛~很爛~

第一篇希望大家能見諒~

總結一下:

1.我們離不開**的耦合,可以理解成耦合就是一種依賴

2.解耦合常用的一種方式使用介面隱藏實現類,這樣實現類的改變就不會影響引用類

3.啥事依賴說完了,用硬編碼方式寫依賴的缺陷希望大家能體會。di叫做依賴注入,至於怎麼注入下次再說啦~

spring框架入門

srping是乙個開源的控制反轉 inversion of control 和面向切面 aop 的容器,它的主要目的是簡化企業開發 public class personservicebean ioc控制反 所謂控制反轉就是應用本身不負責依賴物件的建立及維護,依賴物件的建立及維護是由外部容器負責的。...

Spring框架入門(一)

框架就是制訂一套規範或規則,程式設計師在該規範或規則下工作,形象地說就是在搭好的舞台上表演 半成品 封裝了特定的處理流程與控制邏輯 成熟的 不斷公升級改進的軟體 框架一般是封裝了邏輯 高內聚的,類庫則是鬆散的工具組合 框架專注於某一領域,類庫則是更通用 軟體系統日趨複雜 重用度高,開發效率與質量提高...

Spring框架入門 day02

註解名稱 屬性名稱 屬性值 註解使用在類上面,方法上面 和 屬性上面 注意 除了使用beans,context,core,expression,commons logging,log4j等基本jar包之外,還需要匯入aop的jar包匯入包 建立類,方法 建立spring配置檔案,引入約束 1 第一天...