皆さん!
アプリケーションには、ドメインと永続性という 2 つの Maven モジュールがあります。
ドメインには、ドメイン オブジェクト、サービス、および永続化などの外部エンドポイントへの「データ プロバイダー」インターフェイスがあります。ドメインにはビジネス ロジックが含まれており、外部依存関係はありません。永続性については何も知りません。
永続性はドメインに依存します。ドメイン モジュールから「データ プロバイダー」インターフェイスを実装します。リレーショナル db 実装、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 を実装する方法はありますか?