我正在使用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中描述的所有步骤
请帮忙 !
有一个针对您原始问题的简单解决方案:只需从ARepositoryCustom和ARepositoryImpl中删除@Repository。保留所有命名和接口/类层次结构。他们都还好。