伙计们!
我的应用程序中有两个 Maven 模块 - 域和持久性。
域具有域对象、服务和到外部端点的“数据提供者”接口,例如持久性。域包含业务逻辑并且没有外部依赖——他对持久性一无所知。
持久性取决于域。它从域模块实现“数据提供者”接口。它可能是关系数据库实现、nosql 实现、文件实现等。
例如,我在域中有接口PersonRepository ,如下所示:
public interface PersonRepository {
List<Person> findAll();
List<Customer> findByLastName(String lastName);
}
我想用 Spring Data JPA 实现数据提供者接口。我需要写这样的东西:
public interface PersonRepository extends CrudRepository<Person, Long> {
List<Person> findAll();
List<Person> findByLastName(String lastName);
}
但我不想将 spring 依赖项注入“核心域”。我想保持我的领域非常轻量级和独立。
有没有办法在 Persistence 模块中使用 Spring Data 实现 PersonRepository?