yangxiang

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            8 隨筆 :: 0 文章 :: 73 評論 :: 0 Trackbacks

              當為遺留系統加入spring時,經典問題就是遺留系統需要引用spring管理的bean。幸好spring有機制可以處理這些。

              建一個類實現ApplicationContextAware接口,有一個引用ApplicationContext的靜態成員,然后,遺留系統需要引用spring管理的bean的地方,使用這個類。

          1.比如:我這里建一個SpringContext類

          package net.blogjava.chenlb;

          import org.springframework.beans.BeansException;
          import org.springframework.context.ApplicationContext;
          import org.springframework.context.ApplicationContextAware;

          /**
           * 此類可以取得Spring的上下文.
           * Spring 使new方法創建的對象可以引用spring管理的 bean.
           * 2007-10-18 上午11:12:33
           * 
          @author chenlb
           
          */
          public class SpringContext implements ApplicationContextAware {

              
          protected static ApplicationContext context;
              
              
          public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
                  context 
          = applicationContext;
              }

              
          public static ApplicationContext getContext() {
                  
          return context;
              }
          }


          2.然后在spring配置文件里加

          <bean id="springContext" class="net.blogjava.chenlb.SpringContext"></bean>


          3.其它類中引用

          MyBean myBean = (MyBean) SpringContext.getContext().getBean("myBean");


          4.如果老是寫SpringContext.getContext().getBean("...");麻煩,可以建一個工廠類來返回你要 的bean

          package net.blogjava.chenlb;

          public class MyServerFactory {

              
          public static MyBean1 getMyBean1() {
                  
          return (MyBean1) SpringContext.getContext().getBean("myBean1");
              }
          }



          原文:http://chenlb.javaeye.com/blog/135897

          posted on 2010-06-15 19:22 『 Y X 』 閱讀(318) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 浮山县| 工布江达县| 理塘县| 靖边县| 应城市| 承德县| 班戈县| 呼伦贝尔市| 荣成市| 韶关市| 那坡县| 南宁市| 土默特右旗| 万宁市| 什邡市| 上杭县| 文成县| 维西| 青龙| 芦山县| 九江市| 通辽市| 宜宾县| 屏南县| 正镶白旗| 永平县| 茶陵县| 静安区| 泸水县| 蚌埠市| 盐边县| 临西县| 清新县| 伊宁市| 乌拉特前旗| 诸城市| 陆川县| 定安县| 东方市| 冕宁县| 娄底市|