不包括 Spring Batch 默认 bean

标签 spring intellij-idea spring-batch

我只使用注释驱动的配置,没有 XML hell ,包括一个 spring batch 应用程序到我的基于 spring mvc rest 的应用程序。

spring-batch的配置文件是这样开头的:

@Configuration
@EnableBatchProcessing
public class BatchConfig {

    @Autowired
    JobBuilderFactory jobBuilderFactory;

    @Autowired
    StepBuilderFactory stepBuilderFactory;
[...]

IntelliJ 在这些 bean 上做了标记,告诉我它无法 Autowiring ,因为没有找到“JobBuilderFactory”/“StepBuilderFactory”类型的 bean。据我所知,注释 @EnableBatchProcessing 应该使这些 bean 可用。

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

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

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

最佳答案

EnableBatchProcessing注解需要和@Configration一起添加

@Configuration
@EnableBatchProcessing
public class BatchConfiguration {
    @Autowired
    public JobBuilderFactory jobBuilderFactory;

    @Autowired
    public StepBuilderFactory stepBuilderFactory;

}

关于不包括 Spring Batch 默认 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27503947/

相关文章:

intellij-idea - Intellij 可以在顶部/开始而不是最后编辑位置打开文件进行编辑吗

java - 在 IntelliJ IDEA 的导入 block 中自动导入

spring - 我应该在Spring Batch流程中的哪里索引项目?

spring-batch - spring 集成 vs spring 批处理

java - JSP 迭代继承的用户定义类

Spring Security Invalid remember-me token (Series/token) 不匹配。暗示先前的 cookie 盗窃攻击

java - 如何在intelliJ或eclipse中创建包含所有类和字节代码的JAR文件?

java - 将 Spring Integration 与 Spring 批处理管理一起使用时出错

Eclipse 在 "populate auto detected configs"时崩溃(无响应)

java - 在 Spring Framework 中使用 @PathVariable 时编码不正确