0

我遇到以下错误

将上下文初始化事件发送到类 org.springframework.web.context.ContextLoaderListener 的侦听器实例的异常:org.springframework.beans.factory.BeanCreationException:创建名称为“userAuditLogAspect”的 bean 时出错:注入自动装配的依赖项失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:无法自动装配字段:私有 javax.sql.DataSource com.vzw.aspect.UserAuditLogAspect.dataSource;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException:没有为依赖项找到类型为 [javax.sql.DataSource] 的匹配 bean:预计至少有 1 个 bean 有资格作为此依赖项的自动装配候选者。依赖注解:{@org.springframework.beans.factory.annotation.Autowired(required=true), @org.springframework.beans.factory.annotation。Qualifier(value=topoDataSource)} 相关原因:org.springframework.beans.factory.BeanCreationException:创建名为“topoDataSource”的bean时出错:bean初始化失败;嵌套异常是 java.lang.NoClassDefFoundError: 无法初始化类 org.springframework.expression.TypedValue

我的网络 xml 是:

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>WEB-INF/spring-security.xml, WEB-INF/topoService-servlet.xml</param-value>
 </context-param>
 <!-- Spring Security Filter -->
 <filter>
  <filter-name>springSecurityFilterChain</filter-name>
  <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>springSecurityFilterChain</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
 <!-- <context-param>
        <param-name>resteasy.resources</param-name>
        <param-value>com.vz.myrest.MessageRestService</param-value>
    </context-param> -->
 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>}

2) toposervice-servlet.xml

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

    http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"
    >   
    <aop:aspectj-autoproxy />
    <context:component-scan base-package="com.vzw.context, com.vzw.aspect, com.vzw.logger" />

    <jee:jndi-lookup id="topoDataSource" jndi-name="java:/TopoDSJNDI" />

    <!--<bean class="com.vzw.context.SpringApplicationContext"></bean> -->

    <bean id="topoServiceDao" class="com.vzw.topo.dao.TopoServiceDaoImpl">
        <property name="dataSource">
            <ref bean="topoDataSource" />
        </property>
    </bean>

</beans>

3) pom.xml

<dependencies>
    <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jaxrs</artifactId>
        <scope>provided</scope>
        <version>2.3.4.Final</version><!--$NO-MVN-MAN-VER$ -->
    </dependency>
    <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-multipart-provider</artifactId>
        <scope>provided</scope>
        <version>2.3.4.Final</version><!--$NO-MVN-MAN-VER$ -->
    </dependency>
    <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jaxb-provider</artifactId>
        <scope>provided</scope>
        <version>2.3.4.Final</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>3.1.3.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jackson-provider</artifactId>
        <scope>provided</scope>
        <version>2.3.4.Final</version><!--$NO-MVN-MAN-VER$ -->
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>3.1.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>3.1.1.RELEASE</version>
        <classifier>sources</classifier>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>3.1.2.RELEASE</version>
    </dependency>
    <!--<dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> 
        <version>3.1.2.RELEASE</version> </dependency> -->
    <!-- <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> 
        <version>3.1.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> 
        <artifactId>spring-context-support</artifactId> <version>3.1.2.RELEASE</version> 
        </dependency> -->
    <!-- Spring Security -->
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-core</artifactId>
        <version>3.1.3.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-web</artifactId>
        <version>3.1.3.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
        <version>3.1.3.RELEASE</version>
    </dependency>
    <!-- Spring Security ends -->
    <dependency>
        <groupId>org.jboss.spec.javax.servlet</groupId>
        <artifactId>jboss-servlet-api_3.0_spec</artifactId>
        <version>1.0.2.Final</version>
    </dependency>
    <dependency>
        <groupId>javax.annotation</groupId>
        <artifactId>jsr250-api</artifactId>
        <version>1.0</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>1.7.0</version>
    </dependency>
    <dependency>
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils</artifactId>
        <version>1.8.3</version>
    </dependency>
    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.6</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
</dependencies>

问题是,一旦我添加了安全依赖项,我就会得到异常。它与上下文有关,但我不确定。任何指针都会有所帮助。

谢谢,阿米特

4

1 回答 1

1

您的一些 Spring 依赖项具有3.1.1.RELEASE其他版本的版本3.1.2.RELEASE3.1.3.RELEASE. 始终使用相同的 Spring 版本。您应该在 maven pom 中定义一个spring.version属性,而不是手动输入值。

检查你的应用程序运行的类路径(例如运行测试mvn -X)并确保没有不一致,例如不同的 Spring jar 版本或具有不同版本号的重复 jar。

于 2013-02-22T16:33:44.543 回答