欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java.lang.ClassCastException報錯怎么解決

本篇內(nèi)容主要講解“java.lang.ClassCastException報錯怎么解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“java.lang.ClassCastException報錯怎么解決”吧!

成都網(wǎng)站制作、成都做網(wǎng)站中從網(wǎng)站色彩、結(jié)構布局、欄目設置、關鍵詞群組等細微處著手,突出企業(yè)的產(chǎn)品/服務/品牌,幫助企業(yè)鎖定精準用戶,提高在線咨詢和轉(zhuǎn)化,使成都網(wǎng)站營銷成為有效果、有回報的無錫營銷推廣。創(chuàng)新互聯(lián)公司專業(yè)成都網(wǎng)站建設10多年了,客戶滿意度97.8%,歡迎成都創(chuàng)新互聯(lián)客戶聯(lián)系。

java.lang.ClassCastException: com.sun.proxy.$Proxy32 cannot be cast to com.bkc.bpmp.core.cache.MemcachedManager
  at com.bkc.bpmp.common.utils.CacheUtils.<clinit>(CacheUtils.java:11)
  at com.bkc.bpmp.modules.sys.controller.MainController.showCache(MainController.java:47)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:222)
  at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
  at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
  at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:775)
  at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705)
  at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
  at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
  at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)

  java 實現(xiàn)方式

public class MemcachedManager implements CacheManager

  Spring 文檔中這么寫的:Spring AOP 部分使用JDK 動態(tài)代理或者 CGLIB 來為目標對象創(chuàng)建代理。如果被代理的目標實現(xiàn)了至少一個接口則會使用JDK 動態(tài)代理。所有該目標類型實現(xiàn)的接口都將被代理。若該目標對象沒有實現(xiàn)任何接口,則創(chuàng)建一個CGLIB 代理。

  所以,解決辦法是,如果使用 JDK 動態(tài)代理,就必須被代理的目標實現(xiàn)一個接口(要注意的地方是,需要將 ctx.getBean()方法的返回值用接口類型接收);如果用CGLIB 強制代理,就必須事先將CGLIB 包導入項目,設置 beanNameAutoProxyCreator 的proxyTargetClass 屬性為true。

  這里MemcachedManager 實現(xiàn)了接口CacheManager,所以會使用JDK動態(tài)代理。

// 正確
 private static CacheManager memcachedManager =
        (CacheManager)SpringContextHolder.getBean("shiroCacheManager");
MemcachedManager

// 報錯
 private static MemcachedManager memcachedManager =
        (MemcachedManager)SpringContextHolder.getBean("shiroCacheManager");

// 報錯
 private static CacheManager memcachedManager =
        (MemcachedManager)SpringContextHolder.getBean("shiroCacheManager");

當然,還有一種方法 是 CGLIB強制代理。需要在springContext.xml中增加如下配置:<aop:aspectj-autoproxy proxy-target-class="true"/>

但 事實上個人不建議 采用 proxy-target-class 設置為 true 的方式,因為 我們的項目結(jié)構一般都會是 X extends  BaseDao ,然后在BaseService 層中可能有Dao 層 @Autowared 時,如果使用了這種層次,可能就出現(xiàn) 子類 注入 父類中,如果這里強制代理的話,會出錯。

Java的特點有哪些

1.Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,實現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進行復雜的編程。 

2.Java具有簡單性、面向?qū)ο蟆⒎植际健踩浴⑵脚_獨立與可移植性、動態(tài)性等特點。 

3.使用Java可以編寫桌面應用程序、Web應用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應用程序等。

到此,相信大家對“java.lang.ClassCastException報錯怎么解決”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

網(wǎng)站欄目:java.lang.ClassCastException報錯怎么解決
新聞來源:http://chinadenli.net/article4/ihhsoe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄網(wǎng)站建設App開發(fā)定制網(wǎng)站關鍵詞優(yōu)化商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化