風(fēng)人園

          弱水三千,只取一瓢,便能解渴;佛法無邊,奉行一法,便能得益。
          隨筆 - 99, 文章 - 181, 評論 - 56, 引用 - 0

          導(dǎo)航

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(11)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          新聞檔案

          收藏夾

          友情鏈接

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          Guice 示例(ZT)

          最近在研究Google 的 Guice,感覺用起來挺簡單的,入門應(yīng)該比Spring要容易的多,這也許是因為Guice剛剛出世,很功能還沒有完善吧,但據(jù)說Google內(nèi)部已經(jīng)在用了,我想再過一段時間取Spring而代之也不是沒有可能,至少也能跟Spring平分天下吧。

          下面是一個簡單的小實例

          1.業(yè)務(wù)邏輯接口

          package com.hawkunion.guice;

          /**
          *
          * @author 杜慶明
          */
          public interface Work {
               public void sayHello(String userName);
          }

          2.實現(xiàn)接口的業(yè)務(wù)邏輯

          package com.hawkunion.guice;

          /**
          *
          * @author 杜慶明
          */
          public class WorkImpl implements Work{
              
               public void sayHello(String userName) {
                   System.out.println("Hello! 歡迎你:"+userName);
               }
              
          }

          3.要用到業(yè)務(wù)邏輯的類

          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把需要注入的業(yè)務(wù)邏輯注入給對象
                   runWorkClass.runWork();//   運行work
               }
          }

          Guice和JSF的集成現(xiàn)在還沒有搞定,努力中。。。

          posted on 2007-11-25 13:20 風(fēng)人園 閱讀(304) 評論(0)  編輯  收藏 所屬分類: Java

          主站蜘蛛池模板: 姚安县| 涟水县| 乐安县| 阳原县| 中超| 富宁县| 常山县| 清水县| 太仓市| 揭阳市| 巴彦淖尔市| 镶黄旗| 定南县| 武定县| 秦皇岛市| 武陟县| 乐平市| 从化市| 雷州市| 江陵县| 全椒县| 余姚市| 家居| 富宁县| 三明市| 高尔夫| 双流县| 丹阳市| 巴塘县| 石林| 吴川市| 汉阴县| 宜章县| 精河县| 太和县| 霞浦县| 武冈市| 自贡市| 武定县| 浪卡子县| 福泉市|