Skip to content
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1009,9 +1009,9 @@ name of the bean is used.
The bean name in the example above is `acme-com.example.AcmeProperties`.
====

Even if the preceding configuration creates a regular bean for `AcmeProperties`, we
The preceding configuration creates a regular bean for `AcmeProperties`. We
recommend that `@ConfigurationProperties` only deal with the environment and, in
particular, does not inject other beans from the context. Having said that, the
particular, does not inject other beans from the context. Keep in mind that the
`@EnableConfigurationProperties` annotation is _also_ automatically applied to your
project so that any _existing_ bean annotated with `@ConfigurationProperties` is
configured from the `Environment`. You could shortcut `MyConfiguration` by making sure
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regarding the 'shortcut' in MyConfiguration:
In the original issue, @behrangsa asked: What is getting shortcut if we annotate MyConfiguration with @component.

But I am reading the documentation and AcmeProperties class is the one annotated with @component and not MyConfiguration class.

Is my understanding correct - if we put the @component annotation on AcmeProperties, we don't have to use the @EnableConfigurationProperties(AcmeProperties.class) in MyConfiguration class. Let me know and I can rephrase this sentence so that it does not lead to confusion.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@viktoriya-kutsarova Yup, you're right. You either need to use @EnableConfigurationProperties(AcmeProperties.class) or annotate AcmeProperties with @Component.

Expand Down