一尘不染

应用程序上下文中某些bean的依赖性形成一个循环

spring-boot

我正在使用JPA开发Spring Boot v1.4.2.RELEASE应用程序。

我定义了存储库接口和实现

A资料库

@Repository
public interface ARepository extends CrudRepository<A, String>, ARepositoryCustom, JpaSpecificationExecutor<A> {
}

ARepositoryCustom

@Repository
public interface ARepositoryCustom {
    Page<A> findA(findAForm form, Pageable pageable);
}

一个RepositoryImpl

@Repository
public class ARepositoryImpl implements ARepositoryCustom {
    @Autowired
    private ARepository aRepository;
    @Override
    public Page<A> findA(findAForm form, Pageable pageable) {
        return aRepository.findAll(
                where(ASpecs.codeLike(form.getCode()))
                .and(ASpecs.labelLike(form.getLabel()))
                .and(ASpecs.isActive()),
                pageable);
    }
}

和服务 AServiceImpl

@Service
public class AServiceImpl implements AService {
    private ARepository aRepository;
    public AServiceImpl(ARepository aRepository) {
        super();
        this.aRepository = aRepository;
    }
    ...
}

我的应用程序不会以以下消息开头:

****************************
申请开始失败
****************************

描述:

应用程序上下文中某些bean的依赖性形成一个循环:

| 一个RepositoryImpl
└──────┘

我遵循了http://docs.spring.io/spring-
data/jpa/docs/current/reference/html/#repositories.single-repository-
behaviour中描述的所有步骤

请帮忙 !


阅读 615

收藏
2020-05-30

共1个答案

一尘不染

有一个针对您原始问题的简单解决方案:只需从ARepositoryCustom和ARepositoryImpl中删除@Repository。保留所有命名和接口/类层次结构。他们都还好。

2020-05-30