有没有办法自动装配Spring Data JpaRepositories
而不为每个实体Bean声明存储库接口?
像:
@Autowired
JpaRepository<Person, Integer> repository;
而不是:
@Repository
public interface PersonRepository extends JpaRepository<Person, Integer> {
}
@Autowired
JpaRepository<Person, Integer> repository;
答案 0 :(得分:1)
所以我发现使用SimpleJpaRepository
有一种解决方法:
@PersistenceContext
EntityManager entityManager;
JpaRepository<Person, Integer> repository = new SimpleJpaRepository<>(Person.class, entityManager);
它有点hacky(而不是可自动装配)但它有效。
答案 1 :(得分:0)
不,我不敢。
您创建并标记为@Repository
的接口用于创建代理,该代理实现您添加到所述接口的任何其他功能。
如果您已经在上面突出显示,在那里您没有添加任何其他功能,我可以看到为什么这样的方法会有吸引力,但我认为这是一个边缘案例,我怀疑它会值得春天的时间将其视为一个特例。
如果您认为值得,可以自己实现一个通用存储库,但是我认为使用Repository接口很有用并使代码更具可读性。