The management endpoints were still all mixed up
with the user endpoints. Fixed that and extracted
user endpoints in to conditional block so not
protected if path explicitly set to empty string.
[#53029715]
Rework several aspects of database auto-configuration:
- Use RelaxedPropertyResolver to obtain property values
- Extract EmbeddedDatabaseConnection from EmbeddedDatabaseConfiguration
- Rename several configuration classes for consistency
Issue: #53028397
Update several existing auto-configuration classes to use the new
RelaxedPropertyResolver.
This commit also rename the spring.template property to spring.thymeleaf
in case we wish to support more templating engines in the future.
Create RelaxedPropertyResolver class that can be used to get values
from another PropertyResolver (probably an Environment) using the
same relaxed rules as the RelaxedDataBinder.
The commit extracts the relaxed naming rules from RelaxedDataBinder
into a new RelaxedNames class.
Issue: #55621278
Management endpoints are still secure by default if
Spring Security is present, but now the default
user details have an ADMIN role, and a random password
(which is logged at INFO level if not overridden).
To override you add management.user.password (name, role)
to external properties.
[Fixes#53029715] [bs-203]
* When a config source is a String it can now be a pattern
* Default resource loaded in the BeanDefinitionLoader has been
changed to PathMatchingResourcePatternResolver;
* A check for the ResourcePatternLoader similar to that in
AbstractBeanDefinitionReader and property placeholder resolution
has been added to the load(CharSequence) method of the
BeanDefinitionLoader;
* Added a unit test illustrating the issue;
Opinionated defaults for WebSockets:
* If spring-websocket is on the classpath and so is
the Tomcat WSci initializer then it is added to the context
* A DefaultSockJsService is added if none is present
* User has only to define @Beans of type WebSocketHandler with
name starting "/"
* Each one is converted to a SockJsHttpRequestHandler and
mapped to "/<beanName>/**"
A bug in ivy (tickled by maven leaving a pom
but no jar in the local repo) would make the
default Grapes ivy config fail (cannot grab...).
Phil's workaround now has a test case.
Fix the localm2 repository to only consider that a pom exists when
its artifact is contained in the repository.
This prevents a download error that can occur when the local m2
repository contains a POM file but not a JAR.
Issue: #55532358
Change WebMvcAutoConfiguration to use WebMvcConfigurationSupport instead
of HanderAdapter as the @ConditionalOnMissingBean. This allows MVC to
be auto-configured even if you define additional HanderAdapters.
Issue: #55493342
Update AutoConfigurationUtils to specifically exclude spring-data-rest
packages from being stored. This prevent missing class errors caused
when Spring Boot attempts to use @ComponentScan packages as the source
for JPA entities and reads annotations that are not on the classpath.
Issue: #55489346
The Boot resolver didn't transfer enough of the settings
of the default ChainResolver. Adding a boolean flag was
enough to make the chatter die down for dependencies
that were unneeded.
[Fixes#55358344] [bs-291]
Seems to work. I think the problem was the race conditions
that we hopefully already eliminated. I got an out of memory
error running the samples tests in Eclipse, but then it went
away again (something to look out for).
[Fixes#54925992] [bs-280]
The DispatcherServlet adds a default InternalViewResolver
which was used by some apps, but when the actuator was
available it added an "/error" bean and effectively
switched off the default view resolver. The net fix was
to add an InternalViewResolver at the same time as
adding any other ViewResolvers.
[Fixes#55357516] [bs-290] Actuator UI app cannot serve static index.html
Create a new SpringBootCondition that will log why a condition has
or has not been applied. The removes the need for ConditionLogUtils
and simplifies many of the existing condition implementations.
Issue: #55203236
Update LoggingApplicationContextInitializer to detect the presence of
'--debug' and '--trace' arguments to increase log output.
Using '--debug' will set 'org.springframework.boot' loggers to DEBUG.
Using '--trace' will set 'org.springframework', 'org.apache.tomcat' and
'org.eclipse.jetty' loggers to TRACE.
Issue: #55202588
Change SpringApplicationInitializer interface to include run() args.
Allow initializers to make additional configurations based on the user
supplied arguments.
Issue: #55202588