This commit makes @ConstructorBinding optional for a type
that has a single parameterized constructor. An @Autowired annotation
on any of the constructors indicates that the type should not be constructor
bound.
Since @ConstructorBinding is now deduced for a single parameterized constructor,
the annotation is no longer needed at the type level.
Closes gh-23216
This annotation can be used to mark auto-configurations with a dedicated
annotation. Under the hood, it's a standard @Configuration with
proxyBeanMethods set to false.
Closes gh-29870
This involved a small code change to the generated configuration
properties snippets. The section id has to start with
'appendix.', otherwise the section-id asciidoctor extension
complains. To ensure that the anchors that are derived from the
section IDs remain backwards compatible, the anchor-rewrite
properties have been updated.
See gh-29667
Prior to this change, the reference docs would point to "spring-webflux"
as the required additional testing dependency to get
`WebGraphQlTester` support in Spring Boot tests.
While this is enough for `WebEnvironment.MOCK` tests, we need an actual
HTTP client for `WebEnvironment.RANDOM_PORT` tests. This commit amends
this part of the documentation to recommend the
"spring-boot-starter-webflux" dependency in all cases.
Fixes gh-29250
Prior to this commit, the GraphQL schema assembled by the
auto-configuration would provide no option for disabling the field
introspection.
While this feature is essential for many tools (including GraphiQL),
some prefer disabling it because this allows clients to gather
information about types and schema easily. This commit introduces a new
`spring.graphql.schema.introspection.enabled` configuration property.
Because potential attackers can still gather this information and this
feature is a core concern in the GraphQL spec, introspection is enabled
by default for Spring Boot applications.
Closes gh-29248