首先是乙個名叫action的介面定義了乙個execute()方法
package net.xiaxin.spring.qs;
public inte***ce action
實現類loweraction
package net.xiaxin.spring.qs;
public class loweraction implements action
public string getmessage()
public void setmessage(string message)
}
實現類upperaction
package net.xiaxin.spring.qs;
public class upperaction implements action
public string getmessage()
public void setmessage(string message)
}
新建bean.xml檔案
<?xml version="1.0" encoding="utf-8"?>
hello
請確保配置bean.xml位於工作路徑之下,注意工作路徑並不等同於classpath ,eclipse的預設工作路徑為專案根路徑,也就是.project檔案所在的目錄,而預設輸出目錄/bin是專案classpath的一部分,並非工作路徑。
測試類test
package test;
import net.xiaxin.spring.qs.action;
public class test
}
仔細觀察一下上面的**,可以看到:
1. 我們的所有程式**中(除測試**之外) ,並沒有出現spring中的任何元件。
2. upperaction和loweraction的message屬性均由spring通過讀取配置檔案(bean.xml)動態設定。
3. 客戶**(這裡就是我們的測試**)僅僅面向介面程式設計,而無需知道實現類的具體名稱。同時,我們可以很簡單的通過修改配置檔案來切換具體的底層實現類。
上面所說的這些,對於我們的實際開發有何幫助?
首先,我們的元件並不需要實現框架指定的介面,因此可以輕鬆的將元件從spring中脫離,甚至不需要任何修改(這在基於ejb框架實現的應用中是難以想象的) 。
其次,元件間的依賴關係減少,極大改善了**的可重用性。spring的依賴注入機制,可以在執行期為元件配置所需資源,而無需在編寫元件**時就加以
指定,從而在相當程度上降低了元件之間的耦合。
上面的例子中,我們通過spring,在執行期動態將字串 「hello」 注入到action實現類的
以上例子**於spring開發指南
akka簡單入門例子
spark版本裡面用到的就是akka通訊,2.0版本 已經不再使用akka了。這裡寫了乙個簡單的akka程式。首先定義2個訊息類object myrequest object myresponse 定義2個通訊的actorclass student teacherref actorref exten...
spring簡單入門示例
控制反轉意思就是說,當我們呼叫乙個方法或者類時,不再有我們主動去建立這個類的物件,控制權交給別人 spring 依賴注入意思就是說,spring主動建立被呼叫類的物件,然後把這個物件注入到我們自己的類中,使得我們可以使用它。舉個簡單的例子,程式猿加班了乙個月,很累,想要放鬆下,於是去找人吃 麻辣燙 ...
spring簡單入門示例
控制反轉意思就是說,當我們呼叫乙個方法或者類時,不再有我們主動去建立這個類的物件,控制權交給別人 spring 依賴注入意思就是說,spring主動建立被呼叫類的物件,然後把這個物件注入到我們自己的類中,使得我們可以使用它。舉個簡單的例子,程式猿加班了乙個月,很累,想要放鬆下,於是去找人吃 麻辣燙 ...