隨筆 - 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

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


          網站導航:
           
          主站蜘蛛池模板: 长子县| 锡林浩特市| 克拉玛依市| 浪卡子县| 叙永县| 潮安县| 沈丘县| 贵南县| 射阳县| 武宣县| 定兴县| 承德市| 土默特右旗| 多伦县| 图们市| 西宁市| 彰化市| 平阳县| 汾西县| 延庆县| 榕江县| 会理县| 芒康县| 永修县| 甘德县| 汨罗市| 敦化市| 贵州省| 四平市| 太白县| 常州市| 临武县| 澎湖县| 阜宁县| 兴安县| 玉门市| 平乡县| 北安市| 鄂州市| 文山县| 乌鲁木齐县|