spring-projects / spring-projects/spring-boot
Consider generics on ConfigurationPropertiesBinding beans
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 81.5k
- Forks
- 42.7k
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 65
Description
Currently ConversionServiceDeducer registers converters and formatters using only the bean instance. This means that we don't consider generics on the method. See https://github.com/spring-projects/spring-boot/issues/24891#issuecomment-818113018 for one example of where this has tripped us up.
We might be able to get the bean definition and call getResolvableType() to obtain the method defined generics. We'd then probably need our own adapters (similar to the ones in GenericConversionService) to expose the method generics.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing ConfigurationPropertiesBinding beans through ConversionServiceDeducer and inspect how converters and formatters are registered from bean instances. Read GenericConversionService for comparable adapters and investigate whether getResolvableType() exposes method generics. Done means the binding process considers those method generics when registering converters and formatters.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spring, spring-boot
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100