1. 程式人生 > >Spring的幾種常見異常

Spring的幾種常見異常

一、找不到配置檔案的異常

  1. org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML   
  2. document from class path resource [com/herman/ss/controller]; nested exception is java.io.FileNotFoundException:  
  3.  class path resource [com/herman/ss/controller] cannot be opened because it does not exist  
解釋:這個的意思是說,沒有找配置檔案為controller的xml,修改一下配置檔名字即可。
  1. <init-param>
  2.     <param-name>contextConfigLocation</param-name>
  3.     <param-value>classpath:com/herman/ss/config/testAjax.xml</param-value>
  4. </init-param>
二、在xml中配置的名稱空間找不到對應的Schema的異常
  1. nested exception is org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict,   
  2. but no declaration can be found for element 'util:list'.  
xmlns:util="http://www.springframework.org/schema/util" 去掉,因為schema中不存在util命名
三、找不到jackson.jar的異常
  1. StandardWrapper.Throwable  
  2. java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonProcessingException  

缺少jackson的jar包,匯入jackson-all-1.9.5.jar即可

四、bean不是唯一的異常

  1. org.springframework.beans.factory.NoUniqueBeanDefinitionException:   
  2. No qualifying bean of type [com.herman.ss.pojo.Person] is defined:   
  3. expected single matching bean but found 7: person0,person1,person2,person3,person4,person5,person6  
  4.     at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:313)  
  5.     at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:985)  
  6.     at com.herman.ss.test.Test0.test1(Test0.java:35)  
  7.     at com.herman.ss.test.Test0.main(Test0.java:111)  
這個異常是說,一個類配置了多個bean之後,我們還在使用ctx.getBean(Person.class);方法,即根據bean的類對映去獲取bean物件。這個時候返回的bean物件不是唯一的,有多個bean物件。解決方法,就是根據bean的id去獲取bean物件。

五、缺少日誌jar包

  1. java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory  
  2. Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory  
這個問題是說,專案中缺少spring依賴的jar包檔案。解決方案:加入commons-logging-1.1.3.jar即可。

六、找不到bean異常

  1. org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'filter2' is defined  
這個問題是說,專案中找不到name為filter2的bean。說白了就是在applicationContext.xml中找不到id為filter2的bean,配置一下即可。

六、缺少spring-webmvc-4.0.6.RELEASE.jar包

  1. 嚴重: Error loading WebappClassLoader  
  2.   context: /Struts_Spring_Project  
  3.   delegate: false  
  4.   repositories:  
  5.     /WEB-INF/classes/  
  6. ----------> Parent Classloader:  
  7. [email protected]  
  8.  org.springframework.web.servlet.DispatcherServlet  
  9. java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet  

解決方案:在專案中加入spring的mvc架包即可。如我的spring版本為4.0.6的,那麼就把spring-webmvc-4.0.6.RELEASE.jar新增進去即可。

七、缺少spring-aop-4.0.6.RELEASE.jar包

  1. java.lang.NoClassDefFoundError: org/springframework/aop/TargetSource  
  2. java.lang.ClassNotFoundException: org.springframework.aop.TargetSource  
解決方案:在專案中加入spring的aop架包即可。如我的spring版本為4.0.6的,那麼就把spring-aop-4.0.6.RELEASE.jar新增進去即可。

八、缺少spring-expression-4.0.6.RELEASE.jar包

  1. java.lang.NoClassDefFoundError: org/springframework/expression/ExpressionParser  
  2. java.lang.ClassNotFoundException: org.springframework.expression.ExpressionParser  

解決方案:在專案中加入spring的expression架包即可。如我的spring版本為4.0.6的,那麼就把spring-expression-4.0.6.RELEASE.jar新增進去即可。

九、bean的名字name或者id或者別名alias已經存在

  1. org.springframework.beans.factory.parsing.BeanDefinitionParsingException:  
  2.  Configuration problem: Bean name 'a' is already used in this <beans> element  

解決方法:把重複的名字改個名字即可。

十、bean的自動載入找不到相對應的bean問題

  1. org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.yyc.ym.biz.YycBiz] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}  
解決方法:在配置檔案中的<beans>根節點下加default-autowire="byName" default-lazy-init="true"或者<context:component-scan base-package="com.xxx.dao.*"></context:component-scan>包下面用*匹配

相關推薦

Spring常見異常

一、找不到配置檔案的異常 org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML    document from class path reso

常見的微服務架構方案簡述——ZeroC IceGrid、Spring Cloud、基於訊息佇列

2017-07-26 http://www.broadview.com.cn/article/348 微服務架構是當前很熱門的一個概念,它不是憑空產生的,是技術發展的必然結果。雖然微服務架構沒有公認的技術標準和規範草案,但業界已經有一些很有影響力的開源微服務架構平臺,架構師可以根據公司的技術實力並結合專案

常見異常

1、算術異常類:ArithmeticException 2、空指標異常類:NullpointerException 3、型別強制轉換異常:ClassCastException 4、陣列下標越界異常:ArrayIndexOutOfBoundsException 5、檔案未找到異

Java常見異常類型

bound 字符串轉換 arrays 常見 tails 負數 otf 安全 數字 轉載自:https://blog.csdn.net/niceworkgogogo/article/details/71746208 常見異常類型; 算數異常類:Arithmetic

html中設置錨點定位的常見方法

element 針對 htm com script int nbsp onclick .get 1,使用id定位: <a href="#1F" name="1F">錨點1</a> <div name="1F"> <p>

#19 子網掩碼的由來,與常見的網絡協議

子網掩碼的由來 與幾種常見的網絡協議 子網掩碼: 對應的IP地址中,網絡位1,主機位0 IP地址和子網掩碼進行邏輯“與”運算,得到的結就是IP地址所對應的網絡地址; 主機(終端)使用子網掩碼的方式: 將本次通信的目標IP地址與本地IP地址所使用的子網掩碼進行邏輯“與”運算,同時

java基礎之常見的排序算法

java基礎 csdn n) min center 最小 fill 順序 system 一,冒泡排序 1、原理:   從數組的第一個位置開始兩兩比較array[index]和array[index+1],如果array[index]大於array[index+1]則交換a

常見的Shell

shell 分類 不同的shell具備不同的功能,shell還決定了腳本中函數的語法,linux中默認的shell是/bin/bash,流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特點以及用途。bash大多數linux系統默認使用的shell,bash sh

Vue2 常見開局方式

fig elm temp common disable .... false app oot 在SF問題中看到了一個關於vue-cli中的template問題,問題是這樣的:用vue-cli工具生成的main.js中: import Vue from ‘vue‘ i

JS進階-閉包的常見形式

++ 常見 spa chain () clas js進階 undefined alert 作用域鏈: //作用域鏈 var a = 1; function test() { var b =2; return a; }

CST,CET,UTC,GMT,DST,Unix時間戳常見時間概述與關系(轉)

使用 ndb 過程 發布 英國倫敦 國家 包括 世界時間 com 轉自:http://www.cnblogs.com/frontendBY/p/5215785.html 1、UTC: Universal Time Coordinated 協調世界時,又稱世界標準時間

第四節課:常見的攻擊方式

pxc wql ptc hvm oid hsv ffd stl -1 1.中間人攻擊 局域網ARP攻擊 受害者經過攻擊者向網關發送數據。當主機A、和主機B通信時,都由主機C來為其“轉發”,如圖一,而A、B之間並沒有真正意思上的直接通信,他們之間的信息傳遞同C作為中介來完成

【知了堂學習筆記】java 編寫常見排序算法

第一個 public 調用 ati print 所有 eth string quick 排序的分類: 一.交換排序 所謂交換,就是根據序列中兩個記錄鍵值的比較結果來對換這兩個記錄在序列中的位置,交換排序的特點是:將鍵值較大的記錄向序列的尾部移動,鍵值較小的記錄向序列的前部

常見SQL分頁方式效率比較

har n) over mage 適用於 not blog toolbar 大數 1.創建測試環境,(插入100萬條數據大概耗時5分鐘)。 create database DBTestuse DBTest--創建測試表create table pagetest(id

Java常見的編碼方式

計算 是把 oca java 編碼 不同 sta 換上 基礎上 examples 幾種常見的編碼格式 為什麽要編碼 不知道大家有沒有想過一個問題,那就是為什麽要編碼?我們能不能不編碼?要回答這個問題必須要回到計算機是如何表示我們人類能夠理解的符號的,這些符號也就是我們人類

ASP.NET中彈出消息框的常見方法

服務 復制代碼 添加 新的 警告 完成 方法 rip 最簡 在ASP.NET網站開發中,經常需要使用到alert消息框,尤其是在提交網頁的時候,往往需要在服務器端對數據進行檢驗,並給出提示或警告。 這裏,僅介紹幾種不同的實現方法。 1、眾所周知的方法是采用如下代碼來實現:

常見的優化算法

曲面 很大的 例子 div height 多個 滿足 設計 asi 我們每個人都會在我們的生活或者工作中遇到各種各樣的最優化問題,比如每個企業和個人都要考慮的一個問題“在一定成本下,如何使利潤最大化”等。最優化方法是一種數學方法,它是研究在給定約束之下如何尋求某些因素(的

loadrunner的常見錯誤

reference ant 可能 存儲空間不足 ppi gen services 電腦 incr 轉自網絡 loadrunner的幾種常見錯誤及解決辦法1錄;解決:、;在錄制選項option-network-;2在回放腳本時出現的錯誤;Action.c(33)Error-3

JavaScript的常見的創建方式

自定義 圖片 () 屬性 創建方式 return語句 bubuko 之前 object 1.通過Object構造函數或者對象字面量創建單個對象 使用字面量方法創建對象:var stut = {name: "張三"}; 使用內置構造函數創建對象:var stu = new O

常見的序列蛋白編碼能力預測工具 | ncRNAs | lncRNA

light QQ filo ssm ise sequence str red nco CPC(http://cpc.cbi.pku.edu.cn/) 可在線使用a Support Vector Machine-based classifier, named Coding