風人園

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

          Guice 示例(ZT)

          最近在研究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的集成現在還沒有搞定,努力中。。。

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

          主站蜘蛛池模板: 乳山市| 额尔古纳市| 伊宁市| 合作市| 屏南县| 绵阳市| 吴川市| 饶河县| 毕节市| 河南省| 伊吾县| 彰武县| 双牌县| 黔西县| 蒲城县| 佛教| 屏东县| 天津市| 阜新| 辽宁省| 宁陕县| 上思县| 阆中市| 肥城市| 岳阳县| 五常市| 左云县| 合作市| 汝州市| 宁武县| 腾冲县| 石门县| 周至县| 革吉县| 绥宁县| 青神县| 林周县| 壶关县| 普陀区| 娄底市| 阿坝县|