yangxiang

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            8 隨筆 :: 0 文章 :: 73 評(píng)論 :: 0 Trackbacks

              當(dāng)為遺留系統(tǒng)加入spring時(shí),經(jīng)典問(wèn)題就是遺留系統(tǒng)需要引用spring管理的bean。幸好spring有機(jī)制可以處理這些。

              建一個(gè)類實(shí)現(xiàn)ApplicationContextAware接口,有一個(gè)引用ApplicationContext的靜態(tài)成員,然后,遺留系統(tǒng)需要引用spring管理的bean的地方,使用這個(gè)類。

          1.比如:我這里建一個(gè)SpringContext類

          package net.blogjava.chenlb;

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

          /**
           * 此類可以取得Spring的上下文.
           * Spring 使new方法創(chuàng)建的對(duì)象可以引用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.如果老是寫(xiě)SpringContext.getContext().getBean("...");麻煩,可以建一個(gè)工廠類來(lái)返回你要 的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) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 同江市| 巫山县| 山东省| 通榆县| 苏州市| 永善县| 虎林市| 安宁市| 呼和浩特市| 德兴市| 全州县| 乃东县| 丁青县| 改则县| 彝良县| 精河县| 盐山县| 房山区| 福海县| 崇信县| 达尔| 重庆市| 泸溪县| 海安县| 探索| 登封市| 吉安县| 洛浦县| 平乐县| 康保县| 紫阳县| 福清市| 太原市| 汉川市| 敖汉旗| 巴塘县| 丰宁| 正蓝旗| 湖南省| 揭西县| 陆良县|