隨筆 - 1  文章 - 3  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345


          常用鏈接

          留言簿(1)

          隨筆檔案

          文章分類

          文章檔案

          相冊

          搜索

          •  

          最新評論

          • 1.?re: EXT亂碼
          • @lyq
            我們用的是UTF-8
          • --gkc
          • 2.?re: EXT亂碼
          • 你們工程里面用的編碼格式是utf-8嗎?如果不是的話,怎么只要把method=“post”就行了呢?

            那如果編碼格式是 gbk/gb2312,中文亂碼的問題怎么處理的呢?
          • --lyq
          • 3.?re: EXT出錯:undefined
          • 謝了,哥們.我也折騰了N久,最后被你的帖啟發了!
          • --小波
          先看一段代碼:
          1package com.test;
          2public interface Movein {
          3
          4}

          1package com.test;
          2@Service(value="moveManager")
          3@Transactional
          4public class MoveManager implements Movein {
          5
          6}

          在MoveAction中我們采用兩種方式得到MoveManager 的對象:
          第一種:用@Autowired注解自動注入

          @Autowired
          private MoveManager moveManager;

          第二種:用ApplicationContext中的getBean()

          ApplicationContext ctx = *************
          MoveManager moveM 
          = (MoveManager)ctx.getBean("moveManager");

           

          采用第一種方法,當調用Action時會拋出類似的異常:BeanCreationException: Could not autowire field : private com.test.MoveManager  com.test.MoveAction.moveManager

          采用第二種方法,當執行MoveManager moveM = (MoveManager)ctx.getBean("moveManager");時會拋出類似的異常:java.lang.ClassCastException: $Proxy40 cannot be cast to com.test.MoveManager 。把代碼改為:Movein moveM = (Movein)ctx.getBean("moveManager"); 后運行正常,但這不是我想要的結果,我并不想改變強制轉換類型。

          現在來說說為什么會出現這種問題和解決方法。Spring AOP部分使用JDK動態代理或者CGLIB來為目標對象創建代理。默認情況如果被代理的目標對象實現了至少一個接口,則會使用JDK動態代理。所有該目標類型實現的接口都將被代理。 若該目標對象沒有實現任何接口,則創建一個CGLIB代理。這就說明了為什么強制類型是MoveManager時會出現ClassCastException異常而強制類型是Movein時運行正常,因為MoveManager被JDK代理。如果你希望在不改變代碼的情況下代理目標對象的所有方法,而不只是實現自接口的方法(強制使用CGLIB代理)只需要將<aop:config>的proxy-target-class 屬性設為true:

          <aop:config proxy-target-class="true"/>


          或者把Movein改成abstract類。

          posted on 2009-11-11 10:49 ...... 閱讀(472) 評論(0)  編輯  收藏 所屬分類: SPRING

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


          網站導航:
           
          主站蜘蛛池模板: 合肥市| 尼木县| 读书| 化隆| 牡丹江市| 大余县| 林西县| 黄龙县| 石台县| 昌宁县| 寻乌县| 通海县| 南宫市| 休宁县| 轮台县| 花莲市| 临猗县| 亳州市| 通城县| 江北区| 东台市| 九龙城区| 甘洛县| 舟曲县| 玛纳斯县| 慈溪市| 东台市| 香河县| 尼勒克县| 安乡县| 延吉市| 镇巴县| 卫辉市| 逊克县| 东源县| 崇礼县| 平舆县| 上思县| 宁蒗| 嫩江县| 济宁市|