当前位置: 首页 > 知识库问答 >
问题:

找不到依赖项得[LeanBizApps.Monster.Services.BatchService]类型得合格bean

王宜
2023-03-14

我正在尝试运行批处理,但无法将batchservice注入其中。

BatchApplication.java

package leanbizapps.dexter;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.data.rest.RepositoryRestMvcAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.ComponentScan;

import leanbizapps.monster.config.SwaggerConfig;

@ComponentScan
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class,SwaggerConfig.class,
        WebMvcAutoConfiguration.class,RepositoryRestMvcAutoConfiguration.class })
 public class BatchApplication {

     public static void main(String[] args) throws Exception {
     SpringApplication app = new SpringApplication(BatchApplication.class);
     ConfigurableApplicationContext ctx = app.run(args);
}
}

LeaveAllocationJobConfiguration.java

package leanbizapps.dexter.jobs;
@Configuration
@EnableBatchProcessing
public class LeaveAllocationJobConfiguration {

@Autowired
private JobBuilderFactory jobs;

@Autowired
private StepBuilderFactory stepBuilderFactory;

@Autowired
private EntityManagerFactory entityManagerFactory;

@Autowired
private BatchService batchService;

@Bean
public ItemReader<LeaveSetting> reader() {
    JpaPagingItemReader<LeaveSetting> leaveSettingReader = new JpaPagingItemReader<LeaveSetting>();
    leaveSettingReader.setEntityManagerFactory(entityManagerFactory);
    leaveSettingReader.setQueryString("from LeaveSetting");
    return leaveSettingReader;
}

@Bean
public Job addLeaveAllocationJob() {
    return jobs.get("addLeaveAllocationJob").listener(protocolListener()).start(step()).build();
}

@Bean
public Step step() {

    return stepBuilderFactory.get("step").<LeaveSetting, Boolean> chunk(1).reader(reader()).processor(processor())
            .writer(writer()).build();
}


@Bean
public ItemWriter<? super Boolean> writer() {
    return new ItemWriter<Boolean>() {

        @Override
        public void write(List<? extends Boolean> items) throws Exception {
            System.out.println("Processing " + items);

        }
    };
}

@Bean
public ItemProcessor<LeaveSetting, Boolean> processor() {
    return new ItemProcessor<LeaveSetting, Boolean>() {
        @Override
        public Boolean process(LeaveSetting leavesetting) throws Exception {
            int count =0;
            while(count>0){
                LocalDateTime localDateTime = LocalDateTime.now();
                batchService.leaveBatch(localDateTime);
            }
            return true;
        }

    };
}

@Bean
public ProtocolListener protocolListener() {
    return new ProtocolListener();
}

我该如何解决这个问题?

共有1个答案

赫连坚
2023-03-14
@ComponentScan(basePackages={"leanbizapps.monster", "leanbizapps.dexter"})
public class BatchApplication {
// source code
}
 类似资料:
  • 我正在运行一个JUnit测试,嗯,我的Spring启动项目,我是这样写的: 找到依赖项[com.br.suppcomm.ocp.dao.logindao]得[com.br.suppcomm.ocp.dao.logindao]:需要至少1个具有此依赖项自动候选资格得bean.依赖项注释:{@org.SpringFramework.Beans.Factory.Annotation.AutoWired(

  • 我有测试Spring Data JPA的示例测试程序,但看起来存储库没有生成。 我的配置: 用户实体:

  • 我通过使用Spring和Hibernate创建实体、服务和服务的JUnit测试开始了我的项目。所有这些都很管用。然后,我添加了spring-mvc来使用许多不同的分步教程来制作这个web应用程序,但是当我试图使用注释制作Controller时,我在部署期间从Glassfish得到错误。我想由于某种原因Spring没有看到我的服务,但经过多次尝试,我仍然无法处理它。 /webapp/web-inf/

  • 我是弹簧靴的初学者。 org.springframework.beans.factory.noSuchBeanDefinitionException:未找到依赖项的[com.foo.dto.UserRepository]类型的合格bean:应至少有一个bean可以作为此依赖项的自动候选项。依赖项注释:{@org.SpringFramework.Beans.Factory.Annotation.Au

  • 当我试图在SpringMVC中使用依赖注入时,我遇到了这个错误。 没有匹配的类型[com.sachin.dao.斯托克道]的bean找到依赖项:预计至少有1 bean有资格作为该依赖项的自动连接候选。依赖注释:{};嵌套异常是org.springframework.beans.factory.NoSuchBean定义异常:没有找到类型[com.sachin.dao.Stock道]的匹配bean的依

  • 我和我的朋友正在做一个Java maven项目,它的设置和我们从Git得到的项目是一样的。在我的设置中,Maven正确地导入了所有依赖项,但对于我的朋友,它找不到任何依赖项。 我们尝试过的事情: 右键单击project,单击maven并单击Reimport。 我们都可以上网,所以这也不是问题。而且,Maven在IntelliJ中设置为自动导入。