* pr/44259:
Polish "Do not auto-configure ViewResolver if spring-webmvc is absent"
Do not auto-configure ViewResolver if spring-webmvc is absent
Closes gh-44259
Prior to this commit, if ReactiveWebServerApplicationContext failed to
refresh, only WebServer.stop() was called.
This commit additionally invokes WebServer.destroy(), aligning
the behavior with ServletWebServerApplicationContext when a refresh
failure occurs.
See gh-44134
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
Previously, default values for the following properties did not work:
- application.title
- application.formatted-version
- application.version
- spring-boot.formatted-version
- spring-boot.version
Instead of the default value, an empty string was used instead. For
example, ${application.title:Title} would be replaced with "" rather
than "Title" when the application title was unavailable.
This commit improves the ResourceBanner so that a placeholder's
default value is used. An empty string will still be used when no
default value is provided. For example, ${application.title} will
be replaced with "". As before, custom properties that are not
well-known will not be replaced at all. For example
${custom.property} will remain as-is in the printed banner when
the custom.property has not been set.
Fixes gh-44137
Previously, when Actuator expected to find multiple beans of the same
type, it used Map<String, Type> to inject them. Unfortunately, this
does not include beans that are not default candidates and there's
no way to request that autowiring includes such beans with Map-based
injection.
This commit switches from Map-based injection to querying the bean
factory for the desired beans. This is done using
SimpleAutowireCandidateResolver's new helper method,
resolveAutowireCandidates, that returns a Map<String, Type> of
beans including those that are not default candidates but excluding
those that are not autowire candidates.
Closes gh-43481