Closed
Description
Phil Webb opened SPR-16322 and commented
#18772 updated CachedIntrospectionResults
to explicitly introspect implemented interfaces (for Java 8 default methods), however it directly calls Introspector.getBeanInfo
and I believe it should probably try the BeanInfoFactory
implementations first, in case a custom introspection method is being used.
It's also possible to skip the Serializable
interface and stop when Object
is reached (rather than null
).
Affects: 5.0.2
Issue Links:
- Java 8 default methods not detected as bean properties [SPR-14198] #18772 Java 8 default methods not detected as bean properties
- Reduce ClassUtils.forName overhead (in particular for annotation introspection purposes) [SPR-16667] #21208 Reduce ClassUtils.forName overhead (in particular for annotation introspection purposes)
- CachedIntrospectionResults should build complete descriptor for setter/getter across interface hierarchy [SPR-16978] #21516 CachedIntrospectionResults should build complete descriptor for setter/getter across interface hierarchy
- Consider caching interface-derived BeanInfo instances in CachedIntrospectionResults [SPR-16568] #21110 Consider caching interface-derived BeanInfo instances in CachedIntrospectionResults