隨筆-26  評論-44  文章-20  trackbacks-0
          我在普通類的main方法中調用bean:
          Resource resource = new ClassPathResource("applicationContext.xml");
          BeanFactory factory = new XmlBeanFactory(resource);
          for(int i=1;i<5;i++){
                    DB dbDAO = (DB)factory.getBean("dbDAO");
                    System.out.println(dbDAO);
                }
          每次執(zhí)行程序(不停的調用main方法,不只是只看一次循環(huán)!)都是相同的引用:
          com.yijia_ctgu.DB.DB@12a54f9
          com.yijia_ctgu.DB.DB@12a54f9
          com.yijia_ctgu.DB.DB@12a54f9
          com.yijia_ctgu.DB.DB@12a54f9


          但是在servlet中使用時:
          Resource resource = new ClassPathResource("applicationContext.xml");
          BeanFactory factory = new XmlBeanFactory(resource);
           dbDAO = (DB)factory.getBean("dbDAO");
          每次操作創(chuàng)建的都是不同的引用:
          如com.yijia_ctgu.DB.DB@16e1782
            com.yijia_ctgu.DB.DB@19be6ee

          為何會是這樣,是不是servlet每次都會重新生成spring容器?是servlet獲取bean的方式有問題嗎?還是servlet根本不可能每次使用相同的bean.

          我懂了,必須用別的方式:先在web.xml中定義applicatincontext的位置,再用WebApplicationContextUtils獲取ApplicationContext,在用它獲取bean,這樣就每次就是同樣的bean了。

          但是錯誤還是在繼續(xù),spring我沒系統(tǒng)的學,所以總是有太多的問題。

          posted on 2008-11-05 10:34 開機 閱讀(361) 評論(0)  編輯  收藏 所屬分類: spring

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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 侯马市| 河北区| 吉林省| 纳雍县| 鲁甸县| 原平市| 饶阳县| 东兴市| 公主岭市| 班戈县| 工布江达县| 囊谦县| 玉田县| 博乐市| 措美县| 达孜县| 广州市| 柳州市| 原阳县| 湖口县| 中阳县| 嘉峪关市| 华亭县| 古交市| 宾阳县| 鄂尔多斯市| 浮山县| 长沙县| 元朗区| 吉林市| 佛冈县| 浪卡子县| 大连市| 沙洋县| 岐山县| 平定县| 河津市| 铁岭市| 喀喇沁旗| 霍林郭勒市| 京山县|