`
alibubu
  • 浏览: 9841 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

大家帮我看看,spring的配置文件哪里有问题?

阅读更多

我采用AbstractDependencyInjectionSpringContextTests进行测试,通过以下代码进行加载.

java 代码
  1. protected String[] getConfigLocations() {   
  2.     return new String[] { "classpath:springapplicationcontext.xml" };   
  3. }  


以下是我原来的配置文件:

xml 代码
  1. <!---->xml version="1.0" encoding="utf-8"?>  
  2. <!---->>  
  3. <beans>  
  4.   
  5.  <bean id="dataSource"  
  6.   class="org.apache.commons.dbcp.BasicDataSource">  
  7.   <property name="driverClassName">  
  8.    <value>oracle.jdbc.driver.OracleDrivervalue>  
  9.   property>  
  10.   <property name="url">  
  11.    <value>jdbc:oracle:thin:@localhost:1521:oracle9value>  
  12.   property>  
  13.   <property name="username">  
  14.    <value>gapvalue>  
  15.   property>  
  16.   <property name="password">  
  17.    <value>gapvalue>  
  18.   property>  
  19.  bean>  
  20.   
  21.  <!---->
  22.   <bean id="dataSource"  
  23.   class="org.springframework.jndi.JndiObjectFactoryBean">  
  24.   <property name="jndiName">  
  25.   <value>gappoolvalue>  
  26.   property>  
  27.   bean>  
  28.  -->  
  29.  <bean id="sessionFactory"  
  30.   class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  31.   <property name="dataSource" ref="dataSource" />  
  32.   <property name="configLocation">  
  33.    <value>classpath:hibernate.cfg.xmlvalue>  
  34.   property>  
  35.      
  36.  bean>  
  37.  <bean id="txManager"  
  38.   class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  39.   <property name="sessionFactory" ref="sessionFactory" />  
  40.  bean>  
  41.  <bean id="gapdictionaryDao" class="org.gap.dao.GapdictionaryDao">  
  42.   <property name="sessionFactory">  
  43.    <ref bean="sessionFactory" />  
  44.   property>  
  45.  bean>  
  46.  <bean id="gap" class="org.gap.service.GapImpl">  
  47.   <property name="gapdictionaryDao" ref="gapdictionaryDao" />  
  48.  bean>  
  49. beans>  
  50.   

 

以下是我新的配置文件:

 

 

 

xml 代码
  1. <!---->xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.  xmlns:aop="http://www.springframework.org/schema/aop"  
  5.  xmlns:tx="http://www.springframework.org/schema/tx"  
  6.  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd   
  7.            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd   
  8.            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">  
  9.  <bean id="dataSource"  
  10.   class="org.apache.commons.dbcp.BasicDataSource">  
  11.   <property name="driverClassName">  
  12.    <value>oracle.jdbc.driver.OracleDrivervalue>  
  13.   property>  
  14.   <property name="url">  
  15.    <value>jdbc:oracle:thin:@localhost:1521:oracle9value>  
  16.   property>  
  17.   <property name="username">  
  18.    <value>gapvalue>  
  19.   property>  
  20.   <property name="password">  
  21.    <value>gapvalue>  
  22.   property>  
  23.  bean>  
  24.   
  25.  <!---->
  26.   <bean id="dataSource"  
  27.   class="org.springframework.jndi.JndiObjectFactoryBean">  
  28.   <property name="jndiName">  
  29.   <value>gappoolvalue>  
  30.   property>  
  31.   bean>  
  32.  -->  
  33.  <bean id="sessionFactory"  
  34.   class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  35.   <property name="dataSource" ref="dataSource" />  
  36.   <property name="configLocation">  
  37.    <value>classpath:hibernate.cfg.xmlvalue>  
  38.   property>  
  39.   
  40.  bean>  
  41.  <bean id="txManager"  
  42.   class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  43.   <property name="sessionFactory" ref="sessionFactory" />  
  44.  bean>  
  45.  <aop:config>  
  46.   <aop:pointcut id="gapServiceMethods"  
  47.    expression="execution(* org.gap.service.*Service.*(..))" />  
  48.   <aop:advisor advice-ref="txAdvice"  
  49.    pointcut-ref="gapServiceMethods" />  
  50.  aop:config>  
  51.   
  52.  <tx:advice id="txAdvice" transaction-manager="txManager">  
  53.   <tx:attributes>  
  54.    <tx:method name="saveOrUpdate*" propagation="REQUIRED" />  
  55.    <tx:method name="delete*" propagation="REQUIRED" />  
  56.    <tx:method name="handle*" propagation="REQUIRED" />  
  57.    <tx:method name="*" propagation="SUPPORTS" read-only="true" />  
  58.   tx:attributes>  
  59.  tx:advice>  
  60.   
  61.  <bean id="gapdictionaryDao" class="org.gap.dao.GapdictionaryDao">  
  62.   <property name="sessionFactory">  
  63.    <ref bean="sessionFactory" />  
  64.   property>  
  65.  bean>  
  66.  <bean id="gap" class="org.gap.service.GapImpl">  
  67.   <property name="gapdictionaryDao" ref="gapdictionaryDao" />  
  68.  bean>  
  69. beans>  
  70.   


用原来的配置文件,可以顺利通过测试,改用新的后,就报以下错:

org.springframework.beans.factory.BeanDefinitionStoreException: Line 14 in XML document from class path resource [springapplicationcontext.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.
org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.
 at weblogic.apache.xerces.parsers.DOMParser.parse(DOMParser.java:271)
 at weblogic.apache.xerces.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:201)
 at weblogic.xml.jaxp.RegistryDocumentBuilder.parse(RegistryDocumentBuilder.java:149)
 at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:76)
 at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:145)
 at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:99)
 at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:102)
 at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:70)
 at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:87)
 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:262)
 at org.springframework.context.support.ClassPathXmlApplicationContext.<init></init>(ClassPathXmlApplicationContext.java:80)
 at org.springframework.context.support.ClassPathXmlApplicationContext.<init></init>(ClassPathXmlApplicationContext.java:65)
 at org.springframework.test.AbstractSpringContextTests.loadContextLocations(AbstractSpringContextTests.java:113)
 at org.springframework.test.AbstractDependencyInjectionSpringContextTests.loadContextLocations(AbstractDependencyInjectionSpringContextTests.java:147)
 at org.springframework.test.AbstractSpringContextTests.getContext(AbstractSpringContextTests.java:95)
 at org.springframework.test.AbstractDependencyInjectionSpringContextTests.setUp(AbstractDependencyInjectionSpringContextTests.java:114)
 at junit.framework.TestCase.runBare(TestCase.java:125)
 at junit.framework.TestResult$1.protect(TestResult.java:106)
 at junit.framework.TestResult.runProtected(TestResult.java:124)
 at junit.framework.TestResult.run(TestResult.java:109)
 at junit.framework.TestCase.run(TestCase.java:118)
 at junit.framework.TestSuite.runTest(TestSuite.java:208)
 at junit.framework.TestSuite.run(TestSuite.java:203)
 at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
 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)

 

分享到:
评论
2 楼 jun_fx 2008-05-01  
小弟我不才,这几天也用aop搞事物。还算过了,看你的配置和我的配置,配置差不多,感觉你少写了一句话,打开对aop的支持。  o(∩_∩)o...。 我也是冇奏,你看看是不是。
1 楼 抛出异常的爱 2007-05-10  
把配置文件上传。。。。用代码看不清那里错了。(被砍的七七八八)

相关推荐

    spring配置文件:整理总结Spring中XML配

    ### Spring配置文件:整理与总结Spring中XML配置的最佳实践 #### 概述 Spring框架作为一个强大的Java应用框架,在企业级应用开发中占据了重要的地位。它为普通的Java对象(Plain Old Java Objects, POJOs)提供了...

    Spring中使用classpath加载配置文件浅析

    本文将详细分析Spring通过classpath加载配置文件的不同情形,并提供解决加载过程中可能遇到的问题的方法。 首先,我们来看一下Spring加载配置文件的基本方式。在Spring中,可以通过ApplicationContext接口的实现类...

    Spring配置文件详解1

    下面我们将深入探讨Spring配置文件中的关键知识点。 首先,我们来看`&lt;context:component-scan&gt;`标签,它用于开启注解扫描。这个标签告诉Spring去寻找特定包下的所有使用了Spring注解(如@Service、@Repository、@...

    spring+springmvc+mybatis框架全部基础配置文件

    本资源包含了一个基础的SSM框架配置文件集合,对于初学者而言,理解和掌握这些配置文件将有助于快速上手SSM框架。 首先,我们来看Spring框架。Spring是Java企业级应用的核心框架,它提供了依赖注入(DI)和面向切面...

    定时器的配置文件(两种方式:springmvc自带定时,Quartz与spring结合的定时)

    在Spring配置文件(如`applicationContext.xml`)中配置Quartz的SchedulerFactoryBean。 ```xml &lt;bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"&gt; ...

    Spring 配置学习文件

    这里有两个主要的配置文件:`applicationContext-database.xml` 和 `applicationContext-pojo.xml`,分别关注于数据库连接和持久化对象(POJOs)的设置。 首先,我们来看`applicationContext-database.xml`: 1. *...

    spring-aop标签和配置文件两种方式实例

    本实例将探讨如何在Spring中使用XML配置文件和AOP标签来实现这一功能,特别是针对Spring 2.5及以上版本。 首先,我们来看XML配置文件方式。在Spring中,AOP可以通过`&lt;aop:config&gt;`标签来配置。下面是一个基本的AOP...

    spring 配置文件简单说明

    这些属性和元素组合起来,使得Spring配置文件能够灵活地配置和管理应用程序的组件,实现IoC(控制反转)和DI(依赖注入),从而提高了代码的可测试性和可维护性。理解并熟练掌握这些配置元素对于有效地使用Spring...

    spring配置文件说明.doc

    ### Spring配置文件详解 在Java开发领域中,Spring框架凭借其强大的功能与灵活性深受开发者喜爱。其中,`applicationContext.xml`作为Spring的核心配置文件之一,起着至关重要的作用。本文将详细解读`...

    spring springmvc jpa配置文件

    在`web.xml`中,我们需要配置DispatcherServlet,然后创建一个Spring MVC的配置文件,如`spring-mvc-config.xml`: ```xml &lt;!-- web.xml 配置 DispatcherServlet --&gt; &lt;servlet-name&gt;dispatcher &lt;servlet-class&gt;...

    spring 3.0配置示例

    在Spring 3.0版本中,引入了许多改进和新特性,包括对注解更广泛的支持,这使得配置文件更加简洁且易于维护。 首先,让我们关注Spring 3.0的配置文件。在Spring中,XML配置文件通常位于`applicationContext.xml`或...

    用enum实现单例模式的方法来读取配置文件

    在实际开发中,根据项目需求,还可以考虑使用Spring框架的`@ConfigurationProperties`注解来绑定配置文件,实现更强大的类型安全和属性映射功能。不过,对于简单的配置管理,枚举单例模式已经足够实用。

    spring+mybatis+atomikos配置文件及相关包.rar

    - 在Spring配置文件中声明SqlSessionTemplate或SqlSessionDaoSupport,这两个类是Spring对Mybatis的进一步封装,提供了事务管理功能。 2. **Atomikos的引入** - Atomikos提供了UserTransaction接口,用于开始、...

    spring-cloud项目

    要深入了解这个Spring Cloud项目,需要对Spring Boot、Spring Cloud、Eclipse以及Java编程有扎实的理解,并且通过查看源代码、配置文件以及运行和调试项目来探索其实现细节。在实际的开发环境中,项目通常会有更多的...

    spring famework 配置启动方式

    Spring Framework是Java开发中广泛应用的一个开源框架,它极大地简化了企业级应用的开发工作。本篇文章将深入探讨Spring ...理解并熟练掌握这两种配置方式,将有助于你在Spring Framework的应用开发中更加得心应手。

    Spring配置三种数据源及从属性文件中读取DB连接四要素

    本篇文章将详细讲解如何在Spring配置文件中注册三种不同类型的数据库数据源,并从属性文件中读取数据库连接的四个关键要素:URL、用户名、密码和驱动类名。 一、单数据源配置 首先,我们来看最基本的单数据源配置...

    spring包扫描配置的项目

    在Spring中,包扫描是通过`&lt;context:component-scan&gt;`标签实现的,该标签位于XML配置文件中。这个标签告诉Spring去指定的包及其子包下查找标记为`@Component`、`@Service`、`@Repository`和`@Controller`的类,这些...

    spring自定义xml配置扩展

    主要是讲spring自定义xml配置的扩展相关的内容,东西不算新的,都是比较基础的,想看就看一下 我也是为了搞点积分才上传的

    浅析Spring配置中的classpath:与classpath*:的区别

    3. 程序部署到 Tomcat 后,src 目录下的配置文件会和 class 文件一样,自动 copy 到应用的 WEB-INF/classes 目录下;classpath: 与 classpath*: 的区别在于,前者只会从第一个 classpath 中加载,而后者会从所有的 ...

Global site tag (gtag.js) - Google Analytics