覆盖bean'X'的bean定义:替换[Generic bean Y]

时间:2013-09-26 07:45:23

标签: spring-batch

我的配置如下:

batch:job id="reconciliationJob" job-repository="jobRepository" restartable="true"

在应用程序上下文启动期间,我在日志中收到类似的内容:

  

[INFO] [] []覆盖bean'reconciliationJob'的bean定义:替换[Generic bean:class [org.springframework.batch.core.configuration.xml.SimpleFlowFactoryBean];范围=;抽象= FALSE; lazyInit = FALSE; autowireMode = 0; dependencyCheck = 0; autowireCandidate = TRUE;初级= FALSE; factoryBeanName = NULL; factoryMethodName = NULL; initMethodName = NULL;使用[Generic bean:class [org.springframework.batch.core.configuration.xml.JobParserJobFactoryBean]; destroyMethodName = null];范围=;抽象= FALSE; lazyInit = FALSE; autowireMode = 0; dependencyCheck = 0; autowireCandidate = TRUE;初级= FALSE; factoryBeanName = NULL; factoryMethodName = NULL; initMethodName = NULL; destroyMethodName =空]

如何解决这个最重要的问题?

5 个答案:

答案 0 :(得分:5)

我得到了同样的错误。我的问题是我用@Service标记了类,然后在一个@Configuration类中用一个与该类同名的@Bean创建了它。

答案 1 :(得分:3)

这不是错误,只是一个[INFO]并且是Spring完成的替换;你可以看到类似“步”范围豆的相似之处 例如,如果您有一个标记为

的bean
<bean id="myBean" class="path.to.beanClass" scope="step" />

这将被名为scopedTarget.myBean的bean取代 查看StepScope doc和source

答案 2 :(得分:3)

当Spring解析相同的applicationContext.xml两次时会发生这种情况。

如果您的<context-param>中有重复/覆盖WEB.xml次导入,则可能会发生这种情况。

要解决此问题,请只留下根applicationContext.xml并删除子项。

答案 3 :(得分:0)

我经历了类似的事情,并且我只是更改了班级的名称并且它起作用了。仍然不知道为什么。我会更好地了解我的情况。

但是首先要更改bean的类名。

答案 4 :(得分:-2)

我遇到了类似问题,我在运行maven中使用dependency:analyze解决了问题 - &gt;目标。我在我的pom中找到了未使用的依赖项,并删除了未使用的依赖项。

注意:删除依赖项时要小心,因为dependency:analyze的结果不安全。