更新: 以下内容使用的是Spring Boot 2.1.0
我有一个Spring Data存储库,并尝试为其提供一些自定义功能,遵循文档中的片段示例。
因此,我向存储库添加了一个额外的接口:
public interface UserRepository extends JpaRepository<User, Long>, UserExtraLogic {
User findByFirstNameAndLastName(String firstName, String lastName);
}
使用自定义界面:
interface UserExtraLogic {
void ensureHasAccess();
}
及其实现:
class UserExtraLogicImpl implements UserExtraLogic {
public void ensureHasAccess() {
}
}
问题在于我想在UserExtraLogicImpl
内部使用我的代码库,以便我可以重复使用查询方法,如findByFirstNameAndLastName
,而无需自己编写EntityManager
。因此,我尝试了以下内容:
class UserExrtaLogicImpl implements UserExtraLogic {
@Autowired
private UserRepository userRepository;
}
但是应用程序无法启动。我收到了一个空指针异常,但我认为这只是Spring在尝试解析这些依赖项时陷入循环。
我正在尝试的事情是否可能?还有其他方法可以做到这一点吗?
@Repository
注解吗?你在配置中启用了 JPA 存储库吗? - Mickael@Repository
注释,也没有启用“JPA存储库”(我不知道那是什么意思)。请注意,一切都按预期工作,直到我尝试在片段内自动装配UserRepository
的时候。 - Nikolaos GeorgioufindByFirstNameAndLastName
)。 - Nikolaos Georgiou