Spring Framework无法解析IntelliJ中的引用

时间:2014-08-29 22:19:41

标签: java spring intellij-idea

我为spring设置了一个应用程序配置文件,将其添加到facet,并根据另一个完美运行的配置文件进行设置。 对spring组件的所有引用都是可见的并且似乎有效,但是找不到对xml文件中的项的所有引用。

一个例子是任务:

<task:scheduler id="taskScheduler" />
<task:executor id="taskExecutor" pool-size="1" />
<task:annotation-driven executor="taskExecutor" scheduler="taskScheduler" />

无法解析taskScheduler和taskExecutor。因此,任务bean永远不会被设置,因此我的所有@Scheduled注释都不起作用。

设置服务的工厂提供程序工作正常(所有@Service和@Autowired注释都有效),所以我完全确定问题是项目中存在一些配置问题。

还需要在IntelliJ中配置什么才能让bean工作?为什么spring不重新扫描文件以查找bean的引用?

以下是引用所有springframework bean的地方:

<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:task="http://www.springframework.org/schema/task"
   xmlns:context="http://www.springframework.org/schema/context"
   xmlns:cache="http://www.springframework.org/schema/cache"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
   http://www.springframework.org/schema/task
   http://www.springframework.org/schema/task/spring-task-3.1.xsd
   http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context-3.1.xsd
   http://www.springframework.org/schema/cache
   http://www.springframework.org/schema/cache/spring-cache.xsd"
   default-lazy-init="true">

1 个答案:

答案 0 :(得分:1)

问题是应用程序配置文件有多个上下文。要修复它,请转到IntelliJ中的配置文件,然后在顶部有一个部分,您可以在其中选择要将上下文文件放入哪个应用程序上下文(在模块中读取类似&#34; Spring Application Context的内容[您的模块]。文件包含在[n]上下文&#34;)中。尝试选择每一个,直到参考解决;它将从其他上下文中删除它。我的特殊问题是它在MVC上下文中,它需要在Spring Application Context中。