spring-projects / spring-projects/spring-boot

Consider generics on ConfigurationPropertiesBinding beans

Open
#26,034 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type: enhancement
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.