今天在做一個SSM的shiro的demo,在SpringMVC的配置文件里頻繁報錯 :
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 13 in XML document from class path resource [applicationContext-shiro.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 13; columnNumber: 63; cvc-elt.1: 找不到元素 'beans' 的聲明。
java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
過程:
試過很多網上的解決方法都不行,Spring就是加載不了bean,磨了很久還是不能解決,本來准備放棄了,偶然看到Spring bean的一個屬性default-lazy-init="true",和關於xsd解析文件版本號,把本來是4.0的版本號改成3.0項目就能正常啟動了。
解決方法:
1.在配置xsd解析文件bean上加屬性default-lazy-init="true"
2.還有一種可能就是xsd解析文件版本號有問題,無法獲取xsd文件,你可以從網上下xsd文件jar包到本地lib,或是修改版本號,這里我把4.0版本號改成3.0即可解決問題