真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java.lang.ClassCastException報錯怎么解決

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

成都網(wǎng)站制作、成都做網(wǎng)站中從網(wǎng)站色彩、結構布局、欄目設置、關鍵詞群組等細微處著手,突出企業(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.(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中增加如下配置:

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

Java的特點有哪些

1.Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,實現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(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ù)學習!


新聞名稱:java.lang.ClassCastException報錯怎么解決
文章分享:http://weahome.cn/article/ihhsoe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部