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-3Lines changed: 11 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -1009,7 +1009,8 @@ class CustomizedUserRepositoryImpl implements CustomizedUserRepository {
1009
1009
1010
1010
NOTE: The most important part of the class name that corresponds to the fragment interface is the `Impl` postfix.
1011
1011
1012
-
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.
1012
+
The implementation itself does not depend on Spring Data and can be a regular Spring bean.
1013
+
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.
1013
1014
1014
1015
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.
1028
1029
1029
-
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.
1030
+
Spring Data repositories are implemented by using fragments that form a repository composition.
1031
+
Fragments are the base repository, functional aspects (such as <<core.extensions.querydsl,QueryDsl>>), and custom interfaces along with their implementations.
1032
+
Each time you add an interface to your repository interface, you enhance the composition by adding a fragment.
1033
+
The base repository and repository aspect implementations are provided by each Spring Data module.
1030
1034
1031
1035
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.
1085
+
Repositories may be composed of multiple custom implementations that are imported in the order of their declaration.
1086
+
Custom implementations have a higher priority than the base implementation and repository aspects.
1087
+
This ordering lets you override base repository and aspect methods and resolves ambiguity if two fragments contribute the same method signature.
1088
+
Repository fragments are not limited to use in a single repository interface.
1089
+
Multiple repositories may use a fragment interface, letting you reuse customizations across different repositories.
1082
1090
1083
1091
The following example shows a repository fragment and its implementation:
0 commit comments