例項認識Guice
最近在研究Google 的 Guice,感覺用起來挺簡單的,入門應該比Spring要容易的多,這也許是因為Guice剛剛出世,很功能還沒有完善吧,但據說Google內部已經在用了,我想再過一段時間取Spring而代之也不是沒有可能,至少也能跟Spring平分天下吧。
下面是一個簡單的小例項
1.業務邏輯介面
package com.hawkunion.guice;
/**
*
* @author 杜慶明
*/
public interface Work {
public void sayHello(String userName);
}
2.實現介面的業務邏輯
package com.hawkunion.guice;
/**
*
* @author 杜慶明
*/
public class WorkImpl implements Work{
public void sayHello(String userName) {
System.out.println("Hello! 歡迎你:"+userName);
}
}
3.要用到業務邏輯的類
package com.hawkunion.guice;
import com.google.inject.Inject;
/**
*
* @author 杜慶明
*/
public class RunWorkClass {
private Work work = null;
@Inject
public void setWork(Work workimpl){
this.work = workimpl;
}
public void runWork(){
work.sayHello("阿杜");
}
}
4.Module
package com.hawkunion.guice;
import com.google.inject.Binder;
import com.google.inject.Module;
/**
*
* @author 杜慶明
*/
public class MyModule implements Module {
public void configure(Binder binder) {
binder.bind(Work.class).to(WorkImpl.class);
}
}
5.測試
package com.hawkunion.guice;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Module;
/**
*
* @author 杜慶明
*/
public class TestWork {
public static void main(String args[]){
RunWorkClass runWorkClass = new RunWorkClass();
Module module = new MyModule();
Injector in = Guice.createInjector(module);//把module給Guice
in.injectMembers(runWorkClass);//讓Guice把需要注入的業務邏輯注入給物件
runWorkClass.runWork();// 執行work
}
}
Guice和JSF的整合現在還沒有搞定,努力中。。。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13270562/viewspace-211682/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 初次認識GuiceGUI
- Guice指南-入門認識GUI
- 用一個例項專案重新認識分散式系統分散式
- PAM認證模組使用例項 (zt)
- PAM認證模組使用例項(zt)
- PAM認證模組使用例項(轉)
- JWT實現登入認證例項JWT
- Guice 示例GUI
- 通過一個例項重新認識引用型別,值型別,陣列,堆疊,ref型別陣列
- 例項總結Oracle知識點大全Oracle
- (Oracle)SQL知識與40個例項OracleSQL
- Guice指南-用Guice實現依賴注入GUI依賴注入
- 認知網路知識點及例題總結
- 唯一標識 Java 執行的例項Java
- Python入門基礎知識例項,Python
- 基礎知識1——例項程式結構
- 基於MySQL的Apache使用者認證例項(轉)MySqlApache
- SpringMVC 框架系列之初識與入門例項SpringMVC框架
- Python驗證碼識別處理例項Python
- C#實現驗證碼識別例項C#
- 軟體測試用例的認識誤區有哪些?
- 單例項刪除ASM例項單例ASM
- Elasticsearch 中的 GuiceElasticsearchGUI
- Guice學習心得GUI
- Guice與DWR整合GUI
- 點選連結<a>彈出確認視窗程式碼例項
- C/C++字串筆試知識點及例項C++字串筆試
- 基礎知識1——例項記憶體結構記憶體
- (Oracle)觸發器的相關知識與例項Oracle觸發器
- 認識CopyOnWriteArrayList
- 認識DockerDocker
- 認識jqueryjQuery
- JQuery認識jQuery
- 認識 TypeScriptTypeScript
- 【認識JavaScript】JavaScript
- 認識WebGLWeb
- 認識RedisRedis
- 認識htmlHTML