不包括Spring Batch默认bean

时间:2014-12-16 11:47:45

标签: spring intellij-idea spring-batch

我只使用注释驱动配置,没有XML地狱,包括弹簧批处理应用程序到我的spring mvc rest rest应用程序中。

弹出批处理配置文件的开头如下:

@Configuration
@EnableBatchProcessing
public class BatchConfig {

    @Autowired
    JobBuilderFactory jobBuilderFactory;

    @Autowired
    StepBuilderFactory stepBuilderFactory;
[...]

IntelliJ在这些bean上添加了一个标记,告诉我它无法自动装配,因为找不到'JobBuilderFactory'/'StepBuilderFactory'类型的bean。注释@EnableBatchProcessing的AFAIK应该使这些bean可用。

应用程序确实编译,因此似乎包含了spring-batch。在我的pom.xml中,我添加了

<dependency>
    <groupId>org.springframework.batch</groupId>
    <artifactId>spring-batch-core</artifactId>
    <version>3.0.2.RELEASE</version>
</dependency>

我可以在同一个文件中自动装配其他bean(private Environment environment),因此自动装配本身可以正常工作。我需要哪些步骤才能找到解决方案?它编译时只能是一个Intellij问题吗?

3 个答案:

答案 0 :(得分:1)

目前IntelliJ Idea不支持默认的批处理上下文解析: https://youtrack.jetbrains.com/issue/IDEA-127346

要取消警告,您可以注释以下字段:

@SuppressWarnings("SpringJavaAutowiringInspection")
@Autowired
JobBuilderFactory jobBuilderFactory;

答案 1 :(得分:0)

EnableBatchProcessing批注需要与@Configration一起添加

connmanctl

答案 2 :(得分:0)

我也遇到了这个问题。在我的配置类中,我遇到了相同的自动接线问题,但没有建议的解决方案对我有用。最后,我设法克服了以下乏味的问题:

Resolution

基本上,您只需要在设置中启用Spring Batch插件即可。