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
@@ -128,16 +130,17 @@ field signature. The following listing shows the interface definition of `Generi
128
130
----
129
131
130
132
To implement a `GenericConverter`, have `getConvertibleTypes()` return the supported
131
-
source->target type pairs. Then implement `convert(Object, TypeDescriptor,
133
+
source → target type pairs. Then implement `convert(Object, TypeDescriptor,
132
134
TypeDescriptor)` to contain your conversion logic. The source `TypeDescriptor` provides
133
-
access to the source field that holds the value being converted. The target `TypeDescriptor`
134
-
provides access to the target field where the converted value is to be set.
135
+
access to the source field or method that holds the value being converted. The target
136
+
`TypeDescriptor` provides access to the target field or method where the converted value
137
+
is to be set.
135
138
136
139
A good example of a `GenericConverter` is a converter that converts between a Java array
137
-
and a collection. Such an `ArrayToCollectionConverter` introspects the field that declares
138
-
the target collection type to resolve the collection's element type. This lets each
139
-
element in the source array be converted to the collection element type before the
140
-
collection is set on the target field.
140
+
and a collection. Such an `ArrayToCollectionConverter` introspects the field or method
141
+
that declares the target collection type to resolve the collection's element type. This
142
+
lets each element in the source array be converted to the collection element type before
143
+
the collection is set on the target field or supplied to the target method or constructor.
141
144
142
145
NOTE: Because `GenericConverter` is a more complex SPI interface, you should use
143
146
it only when you need it. Favor `Converter` or `ConverterFactory` for basic type
@@ -148,9 +151,9 @@ conversion needs.
148
151
=== Using `ConditionalGenericConverter`
149
152
150
153
Sometimes, you want a `Converter` to run only if a specific condition holds true. For
151
-
example, you might want to run a `Converter` only if a specific annotation is present
152
-
on the target field, or you might want to run a `Converter` only if a specific method
153
-
(such as a `static valueOf` method) is defined on the target class.
154
+
example, you might want to run a `Converter` only if a specific annotation is present on
155
+
the target field or method, or you might want to run a `Converter` only if a specific
156
+
method (such as a `static valueOf` method) is defined on the target type.
154
157
`ConditionalGenericConverter` is the union of the `GenericConverter` and
155
158
`ConditionalConverter` interfaces that lets you define such custom matching criteria:
156
159
@@ -212,7 +215,7 @@ creating common `ConversionService` configurations.
212
215
A `ConversionService` is a stateless object designed to be instantiated at application
213
216
startup and then shared between multiple threads. In a Spring application, you typically
214
217
configure a `ConversionService` instance for each Spring container (or `ApplicationContext`).
215
-
Spring picks up that `ConversionService` and uses it whenever a type
218
+
Spring picks up that `ConversionService` and uses it whenever type
216
219
conversion needs to be performed by the framework. You can also inject this
217
220
`ConversionService` into any of your beans and invoke it directly.
218
221
@@ -249,7 +252,8 @@ It is also common to use a `ConversionService` within a Spring MVC application.
249
252
xref:web/webmvc/mvc-config/conversion.adoc[Conversion and Formatting] in the Spring MVC chapter.
250
253
251
254
In certain situations, you may wish to apply formatting during conversion. See
252
-
xref:core/validation/format.adoc#format-FormatterRegistry-SPI[The `FormatterRegistry` SPI] for details on using `FormattingConversionServiceFactoryBean`.
0 commit comments