首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

Spring+hibernate配置文件(AOP)报错,该如何解决

2012-04-08 
Spring+hibernate配置文件(AOP)报错Java code//报错信息如下org.springframework.beans.factory.xml.XmlBe

Spring+hibernate配置文件(AOP)报错

Java code
//报错信息如下org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 1 in XML document from file [F:\workplace\MyEclipse\S+H TransactionManagement\src\applicationContext-hibernate.xml] is invalid; nested exception is org.xml.sax.SAXParseException: White spaces are required between publicId and systemId.    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396)    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212)    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:126)    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:92)    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:465)    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:395)    at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:140)    at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:84)    at action.test.Test.main(Test.java:12)Caused by: org.xml.sax.SAXParseException: White spaces are required between publicId and systemId.    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)    at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1411)    at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanExternalID(XMLScanner.java:1026)    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.scanDoctypeDecl(XMLDocumentScannerImpl.java:688)    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:967)    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)    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:510)    at com.sun.org.apache.xerces.internal.impl.xs.opti.SchemaParsingConfig.parse(SchemaParsingConfig.java:435)    at com.sun.org.apache.xerces.internal.impl.xs.opti.SchemaParsingConfig.parse(SchemaParsingConfig.java:491)    at com.sun.org.apache.xerces.internal.impl.xs.opti.SchemaDOMParser.parse(SchemaDOMParser.java:510)    at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getSchemaDocument(XSDHandler.java:1802)    at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:531)    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:552)    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.findSchemaGrammar(XMLSchemaValidator.java:2408)    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1753)    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:3095)    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:921)    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)    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:510)    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:75)    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:388)    ... 14 more 


XML code
<!--配置文件如下 --><?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:p="http://www.springframework.org/schema/p"     xmlns:aop="http://www.springframework.org/schema/aop "     xmlns:tx="http://www.springframework.org/schema/tx "    xsi:schemaLocation="http://www.springframework.org/schema/beans                          http://www.springframework.org/schema/tx                              http://www.springframework.org/schema/tx/spring-tx.xsd                         http://www.springframework.org/schema/aop                         http://www.springframework.org/schema/aop/spring-aop.xsd                        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">         <bean id="propertyConfigurer"        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">        <property name="location">            <value>F:\\workplace\\MyEclipse\\S+H TransactionManagement\\src\\jdbc.properties</value>        </property>        </bean>    <bean id="dataSource"        class="org.apache.commons.dbcp.BasicDataSource">        <property name="driverClassName" value="${jdbc.driverClassName}"/>        <property name="url" value="${jdbc.url}"/>        <property name="username" value="${jdbc.username}"/>        <property name="password" value="${jdbc.password}"/>    </bean>    <bean id="sessionFactory"        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">        <property name="dataSource">            <ref bean="dataSource" />        </property>        <property name="hibernateProperties">            <props>                <prop key="hibernate.dialect">${hibernate.dialect}</prop>            </props>        </property>        <property name="mappingResources">            <list>                <value>dao/model/User0319.hbm.xml</value>            </list>        </property>    </bean>    <bean id="transactionManager"        class="org.springframework.orm.hibernate3.HibernateTransactionManager">        <property name="sessionFactory" ref="sessionFactory" />    </bean>        <bean id="user0319Dao" class="dao.impl.User0319DaoImpl">        <property name="sessionFactory" ref="sessionFactory"></property>    </bean>        <bean id="testService" class="service.impl.TestServiceImpl">        <property name="userDao" ref="user0319Dao" />    </bean>        <!--      <bean id="userDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">        <property name="transactionManager">            <ref bean="transactionManager" />        </property>        <property name="target">            <ref bean="testService"/>        </property>        <property name="transactionAttributes">            <props>                <prop key="execute*">PROPAGATION_REQUIRED</prop>                <prop key="add*">PROPAGATION_REQUIRED</prop>                <prop key="del*">PROPAGATION_REQUIRED</prop>                <prop key="update*">PROPAGATION_REQUIRED</prop>                <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>            </props>        </property>    </bean>    -->    <!-- 支持 @Transactional 标记 -->     <tx:annotation-driven/>     <!-- 支持 @AspectJ 标记-->     <aop:aspectj-autoproxy/>         <!-- 以AspectJ方式 定义 AOP -->     <aop:config proxy-target-class="true">        <aop:advisor pointcut="execution(* TestServiceImpl.*(..))"           advice-ref="txAdvice"/>     </aop:config>             <tx:advice id="txAdvice">        <tx:attributes>         <tx:method name="get*" read-only="true" />         <tx:method name="find*" read-only="true" />         <tx:method name="load*" read-only="true" />         <tx:method name="search*" read-only="true" />         <tx:method name="*" propagation="REQUIRED"/>        </tx:attributes>     </tx:advice>         </beans> 



[解决办法]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">


这样配置一下
[解决办法]
我之前配置spring的aop一样,在测试的时候跟你问题差不多,但是换到别的工程下又可以。郁闷了很久。后来觉得可能是包的问题吧。

热点排行
Bad Request.