Commit Graph

3934 Commits

Author SHA1 Message Date
Andy Wilkinson ec470fbe59 Call Application and CommandLine Runners after ready event
Closes gh-7656
2017-10-30 16:41:18 +00:00
Stephane Nicoll 4dcc354f86 Merge branch '1.5.x' 2017-10-30 16:31:50 +01:00
Andy Wilkinson 88f869bf06 Remove misleading setters from ConfigurationPropertiesBindingPostProcessor
Previously, ConfigurationPropertiesBindingPostProcessor had a number
of setter methods that implied that its configuration was more mutable
than it actually is and would only have an effect when called early
on in the post-processor's lifecycle.

This commit clarifies how the post-processor can be configured by
removing the misleading setters.

Closes gh-10598
2017-10-27 21:44:12 +01:00
Andy Wilkinson 85b1511085 Make configuration properties binding always uses current environment
Previously, configuration properties binding would only see changes to
the environment if there was no PropertySourcesPlaceholderConfigurer
in the context. This happened because
PropertySourcesPlaceholderConfigurer wrapped the Environment in a
PropertySource, effectively hiding it from the change tracking
performed by SpringConfigurationPropertySources.

This commit updates ConfigurationPropertiesBindingPostProcessor so
that it ignores the environment property source contained by
PropertySourcesPlaceholderConfigurer and uses a composite of
the PropertySourcesPlaceholderConfigurer's other property sources and
the Environment's PropertySources instead.
2017-10-27 21:29:09 +01:00
Stephane Nicoll fd07bfd816 Polish "Add runApplication() Kotlin top level function"
Closes gh-10511
2017-10-27 14:22:15 +02:00
Sebastien Deleuze baffecdb14 Add runApplication() Kotlin top level function
Since Kotlin extensions do not apply to static
methods, this commit introduces a runApplication()
Kotlin top level function that acts as a Kotlin
shortcut for SpringApplication.run().

This shortcut avoids to require using non-idiomatic
code like SpringApplication.run(FooApplication::class.java)
and provides a runApplication<FooApplication>() alternative
(as well as an array of KClass based alternative when
multiple classes need to be passed as parameter).

It is possible to customize the application with the
following syntax:

runApplication<FooApplication>() {
    setEnvironment(environment)
}

See gh-10511
2017-10-27 14:18:24 +02:00
Stephane Nicoll b720c2141c Rename DatabaseInitialization to DataSourceInitialization
Closes gh-10779
2017-10-26 16:26:08 +02:00
Stephane Nicoll 3412ee62d5 Make @Validated a hard requirement for JSR-303 validation
Closes gh-8024
2017-10-25 17:43:18 +02:00
Stephane Nicoll b23f68b0d5 Merge branch '1.5.x' 2017-10-25 13:59:54 +02:00
Madhura Bhave 2e3187d1f6 Null values from yaml should be stored as empty string
When building a flattened map, the YamlProcessor from
Spring Framework, converts a null value to an empty string.
We want the null value to also keep track of its origin,
which is why this commit creates an `OriginTrackedValue`
for an empty string if the original value is null.

Fixes gh-10656
2017-10-24 14:57:22 -07:00
Andy Wilkinson 2b426c30a6 Polish “Remove explicit type arguments”
Closes gh-10494
2017-10-24 14:44:26 +01:00
Johnny Lim 6168fae720 Remove explicit type arguments
See gh-10494
2017-10-24 14:44:20 +01:00
Andy Wilkinson a256602c7b Polish 2017-10-24 14:41:03 +01:00
Stephane Nicoll 76c4819053 Remove internal configuration properties validator cleanup
This commit removes the cleanup of the javax.validator.Validator that
can be created to validate @ConfigurationProperties binding as the
memory effect can no longer be reproduced.

Closes gh-10573
2017-10-24 10:05:52 +02:00
Stephane Nicoll c2f649df54 Add support for JPA mapping resources
Closes gh-10684
2017-10-19 17:35:38 +02:00
Andy Wilkinson 77cbab794e Make TomcatEmbeddedWebappClassLoader parallel capable
Closes gh-10477
2017-10-17 16:04:27 +01:00
Andy Wilkinson 688da652ac Polish 2017-10-17 15:41:55 +01:00
Stephane Nicoll 2eba1c5f62 Polish "Use Assert.state() with Supplier where possible"
Closes gh-10658
2017-10-17 15:36:51 +02:00
dreis2211 3b71393e0a Use Assert.state() with Supplier where possible
See gh-10658
2017-10-17 15:35:59 +02:00
Stephane Nicoll 22de4303c5 Polish "When pool autocommit is disabled, inform Hibernate"
Closes gh-9737
2017-10-17 11:39:44 +02:00
Craig Andrews d0e70e90de When pool autocommit is disabled, inform Hibernate
Starting with Hibernate 5.2.10, the JPA property
`hibernate.connection.provider_disables_autocommit` should be set to true
when the datasource has autocommit disabled in order to improve
performance.

See gh-9737
2017-10-17 09:19:47 +02:00
Brian Clozel 81d1b3c6ee Build against Spring Framework 5.0.1.BUILD-SNAPSHOT
See gh-10587
2017-10-12 15:52:11 +02:00
Andy Wilkinson 273defdb1f Merge branch '1.5.x' 2017-10-12 14:40:02 +01:00
Phillip Webb 97afe8e938 Fix package tangle in properties source
Update `SpringConfigurationPropertySource` so that it no longer
references types in `org.springframework.boot.env`.

Closes gh-10592
2017-10-11 11:24:46 -07:00
Phillip Webb f48550aa44 Fix package tangle in binder
Update the `BinderConversionService` so that it no longer references
classes from `org.springframework.boot.context.properties.bind`.

See gh-10592
2017-10-11 11:23:14 -07:00
Andy Wilkinson bcfb1d17b1 Merge branch '1.5.x' 2017-10-11 16:19:25 +01:00
Phillip Webb f337323819 Allow recursive binding in Maps
Update `Binder` so that Maps containing references to themselves may
be bound. The existing stack-overflow protection (required when binding
a bean to a non enumerable source) now only applies to bean properties.

Fixes gh-9801
2017-10-10 21:41:53 -07:00
Madhura Bhave 3ec3b64d45 Guard against binding non-instantiable types
Update `JavaBeanBinder` so that null instances that are non-instantiable
are not bound.

Fixes gh-10131
2017-10-10 17:55:35 -07:00
Madhura Bhave b7c37c2807 Expose webServer from ReactiveWebServerApplicationContext
Closes gh-9746
2017-10-10 14:51:11 -07:00
Phillip Webb b3555fa5c5 Fix checkstyle violation in properties file
See gh-10565
2017-10-10 13:48:33 -07:00
Thiago Hirata 85e71f2373 Update OriginTrackedPropertiesLoader to ISO 8859-1
Align `OriginTrackedPropertiesLoader` with Java default property loading
by using ISO 8859-1 character encoding.

Closes gh-10565
2017-10-10 12:31:43 -07:00
Phillip Webb 748e0779b6 Update copyright year for changed files 2017-10-10 11:56:13 -07:00
Phillip Webb b87f9c11f1 Fix POMs for the updated build/release process
Fix POMs following project relocations and apply CI friendly Maven
conventions.

See gh-9316
2017-10-04 16:34:38 -07:00
Phillip Webb 0ba4830b4f Relocate projects to spring-boot-project
Move projects to better reflect the way that Spring Boot is released.

The following projects are under `spring-boot-project`:

  - `spring-boot`
  - `spring-boot-autoconfigure`
  - `spring-boot-tools`
  - `spring-boot-starters`
  - `spring-boot-actuator`
  - `spring-boot-actuator-autoconfigure`
  - `spring-boot-test`
  - `spring-boot-test-autoconfigure`
  - `spring-boot-devtools`
  - `spring-boot-cli`
  - `spring-boot-docs`

See gh-9316
2017-10-04 16:34:23 -07:00