You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/main/asciidoc/repositories.adoc
+11-3
Original file line number
Diff line number
Diff line change
@@ -989,7 +989,8 @@ class CustomizedUserRepositoryImpl implements CustomizedUserRepository {
989
989
990
990
NOTE: The most important part of the class name that corresponds to the fragment interface is the `Impl` postfix.
991
991
992
-
The implementation itself does not depend on Spring Data and can be a regular Spring bean.Consequently, you can use standard dependency injection behavior to inject references to other beans (such as a `JdbcTemplate`), take part in aspects, and so on.
992
+
The implementation itself does not depend on Spring Data and can be a regular Spring bean.
993
+
Consequently, you can use standard dependency injection behavior to inject references to other beans (such as a `JdbcTemplate`), take part in aspects, and so on.
993
994
994
995
Then you can let your repository interface extend the fragment interface, as follows:
Extending the fragment interface with your repository interface combines the CRUD and custom functionality and makes it available to clients.
1008
1009
1009
-
Spring Data repositories are implemented by using fragments that form a repository composition. Fragments are the base repository, functional aspects (such as <<core.extensions.querydsl,QueryDsl>>), and custom interfaces along with their implementations. Each time you add an interface to your repository interface, you enhance the composition by adding a fragment. The base repository and repository aspect implementations are provided by each Spring Data module.
1010
+
Spring Data repositories are implemented by using fragments that form a repository composition.
1011
+
Fragments are the base repository, functional aspects (such as <<core.extensions.querydsl,QueryDsl>>), and custom interfaces along with their implementations.
1012
+
Each time you add an interface to your repository interface, you enhance the composition by adding a fragment.
1013
+
The base repository and repository aspect implementations are provided by each Spring Data module.
1010
1014
1011
1015
The following example shows custom interfaces and their implementations:
Repositories may be composed of multiple custom implementations that are imported in the order of their declaration. Custom implementations have a higher priority than the base implementation and repository aspects. This ordering lets you override base repository and aspect methods and resolves ambiguity if two fragments contribute the same method signature. Repository fragments are not limited to use in a single repository interface. Multiple repositories may use a fragment interface, letting you reuse customizations across different repositories.
1065
+
Repositories may be composed of multiple custom implementations that are imported in the order of their declaration.
1066
+
Custom implementations have a higher priority than the base implementation and repository aspects.
1067
+
This ordering lets you override base repository and aspect methods and resolves ambiguity if two fragments contribute the same method signature.
1068
+
Repository fragments are not limited to use in a single repository interface.
1069
+
Multiple repositories may use a fragment interface, letting you reuse customizations across different repositories.
1062
1070
1063
1071
The following example shows a repository fragment and its implementation:
0 commit comments