冷面閻羅

          低調做人&&高調做事
          隨筆 - 208, 文章 - 3, 評論 - 593, 引用 - 0
          數據加載中……

          spring學習(一)


                 今天開始學習《Spring 開發指南》,按照上面的配置,運行spring的第一程序,結果發現就出現錯誤。主要有下面2個錯誤,呵呵,建議有人修改一下《Spring 開發指南》,以免后人再犯同樣的錯誤,而且找半天還找不到解決的辦法。
                其一:錯誤現象如下:
                
          java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
              at org.springframework.util.ClassUtils.
          <clinit>(ClassUtils.java:73)
              at org.springframework.core.io.DefaultResourceLoader.
          <init>(DefaultResourceLoader.java:52)
              at org.springframework.context.support.AbstractApplicationContext.
          <init>(AbstractApplicationContext.java:198)
              at org.springframework.context.support.AbstractRefreshableApplicationContext.
          <init>

          (AbstractRefreshableApplicationContext.java:
          80)
              at org.springframework.context.support.AbstractXmlApplicationContext.
          <init>

          (AbstractXmlApplicationContext.java:
          58)
              at org.springframework.context.support.FileSystemXmlApplicationContext.
          <init>

          (FileSystemXmlApplicationContext.java:
          121)
              at org.springframework.context.support.FileSystemXmlApplicationContext.
          <init>

          (FileSystemXmlApplicationContext.java:
          68)
              at test.UpperActionTest.test_execte(UpperActionTest.java:
          15)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
          39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
          25)
              at java.lang.reflect.Method.invoke(Method.java:
          597)
              at junit.framework.TestCase.runTest(TestCase.java:
          168)
              at junit.framework.TestCase.runBare(TestCase.java:
          134)
              at junit.framework.TestResult$
          1.protect(TestResult.java:110)
              at junit.framework.TestResult.runProtected(TestResult.java:
          128)
              at junit.framework.TestResult.run(TestResult.java:
          113)
              at junit.framework.TestCase.run(TestCase.java:
          124)
              at junit.framework.TestSuite.runTest(TestSuite.java:
          232)
              at junit.framework.TestSuite.run(TestSuite.java:
          227)
              at org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:
          76)
              at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:
          45)
              at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:
          38)
              at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:
          460)
              at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:
          673)
              at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:
          386)
              at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:
          196)
             這個錯誤,其實不是書上的錯誤,是因為我們少引入一個jar包:commons-logging.jar。

             其二,錯誤現象如下:
          org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 1 in XML document from file [E:\eclipse-SDK-3.4\workspace\spring\bean.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.
              at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:
          369)
              at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:
          313)
              at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:
          290)
              at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:
          142)
              at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:
          158)
              at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:
          184)
              at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:
          112)
              at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:
          79)
              at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:
          97)
              at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:
          411)
              at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:
          338)
              at org.springframework.context.support.FileSystemXmlApplicationContext.
          <init>(FileSystemXmlApplicationContext.java:124)
              at org.springframework.context.support.FileSystemXmlApplicationContext.
          <init>(FileSystemXmlApplicationContext.java:68)
              at test.UpperActionTest.test_execte(UpperActionTest.java:
          15)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
          39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
          25)
              at java.lang.reflect.Method.invoke(Method.java:
          597)
              at junit.framework.TestCase.runTest(TestCase.java:
          168)
              at junit.framework.TestCase.runBare(TestCase.java:
          134)
              at junit.framework.TestResult$
          1.protect(TestResult.java:110)
              at junit.framework.TestResult.runProtected(TestResult.java:
          128)
              at junit.framework.TestResult.run(TestResult.java:
          113)
              at junit.framework.TestCase.run(TestCase.java:
          124)
              at junit.framework.TestSuite.runTest(TestSuite.java:
          232)
              at junit.framework.TestSuite.run(TestSuite.java:
          227)
              at org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:
          76)
              at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:
          45)
              at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:
          38)
              at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:
          460)
              at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:
          673)
              at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:
          386)
              at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:
          196)
          Caused by: org.xml.sax.SAXParseException: cvc
          -elt.1: Cannot find the declaration of element 'beans'.
              at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:
          195)
              at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:
          131)
              at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:
          384)
              at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:
          318)
              at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:
          1887)
              at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:
          685)
              at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:
          400)
              at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:
          626)
              at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:
          3084)
              at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:
          912)
              at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:
          645)
              at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:
          140)
              at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:
          508)
              at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:
          807)
              at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:
          737)
              at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:
          107)
              at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:
          225)
              at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:
          283)
              at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:
          78)
              at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:
          361)
               
          32 more

               這個錯誤就是書上的錯誤了。問題是因為bean.xml寫的有問題,書上這樣
          <beans>
              
          <description>Spring Quick Start    </description>
              
          <bean id="TheAction" class="com.neusoft.wang_xj.actionImpl.UpperAction">
                  
          <property name="message">
                      
          <value>HeLLo</value>
                  
          </property>
              
          </bean>
          </beans>
             是不正確。修改成這樣:
          <?xml version="1.0" encoding="UTF-8"?>   
            
          <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
              xmlns:aop
          ="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"  
              xmlns:context
          ="http://www.springframework.org/schema/context"  
              xsi:schemaLocation
          ="   
                    http://www.springframework.org/schema/beans    
                    http://www.springframework.org/schema/beans/spring-beans-2.0.xsd   
                    http://www.springframework.org/schema/aop    
                    http://www.springframework.org/schema/aop/spring-aop-2.0.xsd   
                    http://www.springframework.org/schema/tx    
                    http://www.springframework.org/schema/tx/spring-tx-2.0.xsd   
                    http://www.springframework.org/schema/context   
                    http://www.springframework.org/schema/context/spring-context-2.5.xsd">   
          <bean id="TheAction" class="com.neusoft.wang_xj.actionImpl.UpperAction">   
          <property name="message">   
          <value>HeLLo</value>   
          </property>   
          </bean>    
          </beans>

               問題就解決了。

              不知道你按照我說的修改,問題解決了么?

          posted on 2008-09-25 20:38 冷面閻羅 閱讀(4602) 評論(1)  編輯  收藏 所屬分類: java

          評論

          # re: spring學習(一)  回復  更多評論   

          俺都學不過來了
          2008-09-26 09:56 |
          主站蜘蛛池模板: 娱乐| 邵阳市| 神农架林区| 玉环县| 安吉县| 黄龙县| 东方市| 昂仁县| 忻城县| 蕲春县| 南宫市| 临漳县| 乐陵市| 海城市| 汉川市| 玉龙| 公主岭市| 布尔津县| 尼勒克县| 三门县| 忻城县| 吐鲁番市| 石家庄市| 宁津县| 始兴县| 柳州市| 揭东县| 通海县| 阳西县| 巴东县| 肥西县| 涟水县| 株洲县| 新宁县| 如东县| 油尖旺区| 青冈县| 基隆市| 太康县| 柳林县| 高州市|