Make JettyEmbeddedServletContainerFactory more useful for third-parties
by providing protected configureWebAppContext, addDefaultServlet and
addJspServlet methods that sub-classes can call.
Fixes gh-1056
@PropertySources *can* and should be added in the slot
after the application.properties (code that is part of the
application should have lower precedence than external
configuration).
Fixes gh-1044
This is *really* nasty (and led me to discover a related bug
https://jira.spring.io/browse/SPR-11844), but fortunately easy to
hide from users once you have a test case.
The problem is that Spring Security registers a `BeanPostProcessor`
to handle `GlobalAuthenticationConfigurerAdapters`, and Boot
registers a `BeanPostProcessor` to handle injecting the packages
to scan into an `EntityManagerFactory` from `@EntityScan`. The
clash comes because the `EntityScanBeanPostProcessor` wants to be
postprocessed by the Security postprocessor, but if the Security
configuration depends on JPA it won't be ready in time.
The fix (or workaround) depending on how you look at it is to
prevent the other bean post processors from taking an interest in
`EntityScanBeanPostProcessor` at all (mark it as synthetic).
Fixes gh-1008
Update RelaxedDataBinder to hook in an additional
RelaxedConversionService which can deal with case insensitive enum
mappings.
The RelaxedConversionService could be extended in the future with
additional converters if necessary.
Fixes gh-996
Restore the dependency on commons-logging (transitively via spring-core)
for spring-boot. This means that we are not tied directly to SLF4J, but
it is still an option that can be used via `jcl-over-slf4j`.
The `spring-boot-starter-parent` continues to replace `commons-logging`
with `jcl-over-slf4j`.
Fixes gh-981
Update JasperInitializerLifecycleListener to call JasperInitializer as
a ServletContainerInitializer (not a ServletContextInitializer).
Fixes gh-962
See gh-919
The early re-ordering (and in particular the temporary remove of the
default properties) seemed to be a relic of an older approach that is
no longer there since we refactored to support more sane profile ordering.
Removing it doesn't seem to break anything and it allows you to specify
the config file locations in SpringApplicationBuilder.properties().
Fixes gh-953, fixes gh-920
Then non-enumerable property sources will be accessible (like
SystemProperties in principle). This is the same way that other
beans are bound to the environment, but this one never got the
same treatment.
Fixes gh-951, gh-934
This affected @ConfigurationProperties binding whenever there
were multiple PropertySources (from any source) in the
Environment and mor ethan one carried a value for a particular
key. The rules for override are clear in Environment.getProperty()
but they were being violated by the PropertySourcesPropertyValues.
Fixes gh-916
Fix MalformedURLException warnings caused by Tomcat 8 adding additional
URLs to the TomcatEmbeddedWebappClassLoader.
Add JasperInitializerLifecycleListener to call Tomcat 8's
JasperInitializer which is now required for JSP rendering.
Fixes gh-919
This allows multiple beans of the same type to be bound with
different prefixes. As a side effect you get default binding
if the bean class is itself @ConfigurationProperties.
Remove the filtering from test jars so Maven works in the same way
as eclipse. Test jar filtering has now been setup on the CI server
to prevent them from being published.
Fixes gh-754
This change harmonizes the profile ordering between spring.profiles.active
(where last one already wins) and SpringApplication.setAdditionalProfiles()
(where the first one has been winning in 1.0.x). Last one wins is the
correct strategy since it mimics a map merge, and also matches the behaviour
of file ordering already defined in spring.config.location and
spring.config.name.
Fixes gh-645
SpringApplication now picks up a classpath:banner.txt
by default, and user can choose a different one with
banner.location. The encoding is banner.encoding.
Fixes gh-458
Two modules are still relying on the spring-boot test-jar but it was
not generated anymore. Adding the generation of test-jar again as
a workaround until we completely removes the use of it.
This commit adds auto-configuration and a starter,
spring-boot-starter-freemarker, for using FreeMarker view templates in
a web application.
A new abstraction, TemplateAvailabilityProvider, has been introduced.
This decouples ErrorMvcAutoConfiguration from the various view
technologies that Spring Boot now supports, allowing it to determine
when a custom error template is provided without knowing the details of
each view technology.
Closes#679
Reverting arguments in assertEquals where constant was placed on
the "actual" place. Replacing assertEquals with assertFalse, assertTrue
and assertNull where applicable.
Fixes gh-735
The username/password option stil lonly works for a single host (to
connect to a cluster I suspect you need to set the URI). Also added
a MongoClientOptions (if a bean of that type exists it will be
used to populate the options that aren't in the URI).
Fixed gh-536