As of Spring Boot 2.0, if Collection properties are specified in
multiple property sources, only the elements from the property source
with the highest precedence are used for binding. This caused an
`UnboundConfigurationPropertiesException` if the size of the collection
from the higher order property source was smaller and `ignoreUnknownFields`
was set to true.
This commit ignores unbound collection properties if the
collection was properly bound.
Fixes gh-16290
Until Spring Framework 5.1.15, a FactoryBean with a non-default constructor
defined via component scanning would cause an error. This behavior has changed
as of https://github.com/spring-projects/spring-framework/issues/22409.
Regardless of this change we want to ensure that we avoid triggering eager
initialisation. `SimpleFactoryBean` has been written this way so that the tests
fail if early initialization is triggered regardless of the Spring Framework version.
Fixes gh-15898
Since Servlet.fn support has been added in Spring Framework, new
infrastructure beans (like `HandlerAdapter` and `HandlerMapping`) have
been added.
This commit adapts the Spring MVC auto-configuration tests to reflect
those changes.
For webflux, security configuration is configured via a bean of type
`SecurityWebFilterChain` and not `ServerHttpSecurity`. We would have changed
the include to be `SecurityWebFilterChain` but the filter only applies to
beans registered via component scanning and not those registered in
`@Configuration` classes, making the includes redundant.
See gh-16088