spring-projects / spring-projects/spring-boot

Allow fine-grain control of the getters/setters considered in @ConfigurationProperties

Open
#34,616 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

status: pending-design-work type: enhancement
Dominant language
Java
Stars
81.5k
Forks
42.7k
Avg merge
2d 4h
Merged PRs (30d)
65

Description

See #34309 for background.

Currently our @ConfigurationProperties only considers getter/setter combinations when generating meta-data. The binder is a little more lenient and can bind to beans that only have setters.

It would be helpful if users could indicate that certain setters without getters should be included. It would also be helpful to be able to exclude properties that have getters/setters that can't actually be set in application.properties. For example SimpleMessageListenerContainer generates meta-data that includes connection-factory of type org.springframework.amqp.rabbit.connection.ConnectionFactory.

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 reading issue #34309 for the background, then trace how @ConfigurationProperties metadata is generated compared with binder behavior. Define how users would include setter-only properties and exclude properties that cannot be set from application.properties, including the SimpleMessageListenerContainer example.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, spring-boot
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.