Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java junit无法在自动连线时工作_Java_Spring_Junit - Fatal编程技术网

Java junit无法在自动连线时工作

Java junit无法在自动连线时工作,java,spring,junit,Java,Spring,Junit,我在自动连线bean中得到一个错误。在测试类之外,它可以工作。做错了什么?如何提升应用程序上下文。甚至可以指定哪些部分?这是我的密码: <properties> <java-version>1.6</java-version> <org.springframework-version>3.1.0.RELEASE</org.springframework-version> </propertie

我在自动连线bean中得到一个错误。在测试类之外,它可以工作。做错了什么?如何提升应用程序上下文。甚至可以指定哪些部分?这是我的密码:

<properties>
      <java-version>1.6</java-version>
      <org.springframework-version>3.1.0.RELEASE</org.springframework-version>      
 </properties>

   <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${org.springframework-version}</version>
        <exclusions>
            <!-- Exclude Commons Logging in favor of SLF4j -->
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${org.springframework-version}</version>
    </dependency>


    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>${org.springframework-version}</version>
    </dependency>
  <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.7</version>
        <scope>test</scope>
    </dependency>

  <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${org.springframework-version}</version>
        <scope>test</scope>
  </dependency>
}

休眠配置

  bean id="sessionFactory"       class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>

    <property name="configLocation">
        <value>WEB-INF/spring/hibernate.cfg.xml</value>
    </property>

另外,很抱歉我讲英语

您正在将spring test 4.0与其他版本3.1.0.RELEASE的spring Jar一起使用。不要那样做。使用spring test 3.1.0,或使用所有其他spring jar的4.0版本,但不要将不兼容的版本混合在一起。

您的sessionFactory配置指向

<property name="configLocation">
    <value>WEB-INF/spring/hibernate.cfg.xml</value>
</property>
但是WEB-INF/spring目录没有添加到类路径中,因此spring无法找到它


您需要指定一个文件:前缀路径为相对或绝对,或者将该文件放在类路径中的某个位置。

其他Spring依赖项在哪里?显示pom.xml文件的其他依赖项。如果我使用spring test 3.1.0.RELEASE,则会出现have java.lang.IllegalStateException:未能加载ApplicationContext,然后读取异常堆栈跟踪和消息,找到异常的原因并修复它。我不知道如何修复它。指定了hibernate.cfg.xml文件路径。我在上面发布了堆栈跟踪以及文件。首先,WEB-INF中有额外的空间。其次,WEB-INF/spring/hibernate.cfg.xml不是类路径资源。它是一个web应用程序资源。并且您的单元测试没有在web应用程序中运行。使用适用于单元测试的配置文件配置测试。不使用适用于web应用程序的配置文件。
  bean id="sessionFactory"       class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>

    <property name="configLocation">
        <value>WEB-INF/spring/hibernate.cfg.xml</value>
    </property>
Caused by: java.io.FileNotFoundException: class path resource [WEB-      INF/spring/hibernate.cfg.xml] cannot be resolved to URL because it does not exist
at org.springframework.core.io.ClassPathResource.getURL(ClassPathResource.java:179)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:642)
at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)
... 41 more
<property name="configLocation">
    <value>WEB-INF/spring/hibernate.cfg.xml</value>
</property>