@Autowired没有在一个包中找到,但在另一个包中找到

时间:2013-06-05 13:02:19

标签: spring spring-webflow

在同一个项目的一个软件包中,我使用@Autowired从appcontext.xml中获取一个元素,它运行正常。在同一个appcontext中定义的bean,然后是@Autowired,是成功创建的,但是没有尝试注入bean。

我觉得好像我可能遗漏了与类路径相关的东西。目前,我一直在尝试在appcontext中添加<context:component-scan />,但这只会给我这个错误:

org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'context:component-scan'.

我的AppContext.xml的一部分:

<?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"
   xmlns:context="http://www.springframework.org/schema/context/spring-context-2.5.xsd"
   xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    http://www.springframework.org/schema/aop 
    http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-2.5.xsd
    http://www.springframework.org/schema/tx 
    http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

   <context:component-scan base-package="org.jasig.cas.web.flow"/>

将bean定义在它下面。

任何明显的缺陷,还是我应该改变一些其他配置?

1 个答案:

答案 0 :(得分:3)

xmlns:context="http://www.springframework.org/schema/context/spring-context-2.5.xsd" 应该只是xmlns:context="http://www.springframework.org/schema/context"