83 Commits

Author SHA1 Message Date
Andy Wilkinson
e49a88cb9b Auto-configure script-based R2DBC database initialization
See gh-24741
2021-03-29 12:01:19 +01:00
Andy Wilkinson
90b4ced7a6 Move DataSource init auto-config out of DataSourceAutoConfiguration
Previously, the auto-configuration for DataSource initialization and
the properties used to configure it were part of the general
DataSource auto-configuration and properties.

This commit moves the auto-configuration of DataSource initialization
out into a separate top-level auto-configuration class. Similarly,
the properties for configuring DataSource initialization have been
moved from `spring.datasource.*` into `spring.sql.init.*`.

The old initialization-related `spring.datasource.*` properties have
been deprecated but can still be used. When they are used, they new,
separate initialization auto-configuration will back off. In other
words, the initialization related `spring.datasource.*` properties
and the `spring.sql.init.*` properties cannot be used in combination.

Closes gh-25323
2021-03-24 14:57:29 +00:00
Andy Wilkinson
5dee68c925 Move script-based DataSource initializer into spring-boot
Closes gh-25487
Closes gh-25756
2021-03-22 20:14:30 +00:00
Andy Wilkinson
ed72bca6c8 Provide more pluggable way to indicate DataSource init dependencies
Closes gh-17619
Closes gh-25559
2021-03-09 13:55:48 +00:00
izeye
c823f44e76 Polish
See gh-25451
2021-02-27 11:22:05 +01:00
Andy Wilkinson
f09630f73c Allow additional keys to be configured for value sanitization
Closes gh-25384
2021-02-24 19:28:29 +00:00
Andy Wilkinson
10ef991e1d Sanitize sensitive portion of the value of url and urls keys
Closes gh-25387
2021-02-24 14:42:25 +00:00
Andy Wilkinson
df5f59127a Support Jetty 10
Closes gh-24886
2021-02-17 17:49:59 +00:00
Andy Wilkinson
2f83a6714b Rework DataSource initialization
Previously, DataSource initialization was triggered via a
BeanPostProcessor or a schema created event from JPA. This caused
numerous problems with circular dependencies, bean lifecycle, etc and
added significant complexity.

This commit reworks DataSource initialization to remove the use of a
BeanPostProcessor entirely. In its place, DataSource initialization is
now driven by an InitializingBean with dependency relationships
between beans ensuring that initialization has been performed before
the DataSource is used. This aligns with the approach that's worked
well with Flyway and Liquibase.

More changes are planned to further simplify DataSource initialization.
The changes in this commit are a foundation for those changes. Any new
public API in this commit is highly likely to change before the next
GA.

Fixes gh-13042
Fixes gh-23736
2021-02-17 12:10:22 +00:00
Stephane Nicoll
9bc4f8ede1 Polish "Group jdbc-related batch properties beneath spring.batch.jdbc"
See gh-25316
2021-02-17 11:29:35 +01:00
Phillip Webb
ae1be76cce Add pending-extract attribute to source
Add `pending-extract=true` to source blocks to help us identify
those that need to be extracted to a real source file.

See gh-6313
2021-02-03 17:45:40 -08:00
Phillip Webb
073f8c4b23 Polish spring-boot-docs
See gh-25089
2021-02-03 16:25:11 -08:00
Phillip Webb
2a85427324 Refine spring-boot-docs package restructure
Refine the package restructure started in 91ccc23462 to help provide
a solid foundation for code snippets. This commit renames many of the
classes so that they no longer end in `Example`. It also removes some
of the inner types that were previously used. Many tag comments have
also been moved to ensure that `import` statements are available in
the docs.

Closes gh-25089
2021-02-03 15:47:05 -08:00
Phillip Webb
91ccc23462 Restructure spring-boot-docs packages
Restructure the packages in `spring-boot-docs` so that they mirror
the documentation sections. There are now three main packages:
`springbootfeatures`, `productionreadyfeatures` and `howto`. Each
of the main packages has a subpackage named after the section headings.

Example code now uses consistent `// tag::` names and imports are
applied using `[tag=*]` whenever possible.

Test snippets have been moved to `src/main/java` so that only a single
import attribute needs to be defined.

Closes gh-25089
2021-02-02 17:09:45 -08:00
Stephane Nicoll
b8a1869569 Merge branch '2.3.x' into 2.4.x
Closes gh-24707
2021-01-08 15:53:53 +01:00
Stephane Nicoll
826d79be3e Clarify behaviour of WebServerFactory in reference guide
Closes gh-24705
2021-01-08 15:50:16 +01:00
izeye
5e3f618f9d Polish
See gh-24604
2020-12-23 16:08:21 +01:00
Madhura Bhave
a714ba44ea Update documentation containing examples of WebSecurityConfigurerAdapter
Closes gh-24551
2020-12-22 11:17:30 -08:00
Madhura Bhave
f9d1a4526c Merge branch '2.3.x' into 2.4.x
Closes gh-24572
2020-12-18 17:26:44 -08:00
Madhura Bhave
a5c8b84511 Update version of git-properties plugin in the docs
Closes gh-24567
2020-12-18 17:25:26 -08:00
Madhura Bhave
c231f3da10 Merge branch '2.3.x' into 2.4.x
Closes gh-24570
2020-12-18 17:15:01 -08:00
Madhura Bhave
302ba77812 Improve documentation regarding git commit info
Closes gh-24205
2020-12-18 17:13:30 -08:00
Stephane Nicoll
96510156ae Merge branch '2.3.x' into 2.4.x
Closes gh-24495
2020-12-14 16:19:50 +01:00
Stephane Nicoll
26e7e61919 Merge branch '2.2.x' into 2.3.x
Closes gh-24494
2020-12-14 16:19:23 +01:00
Andy Wilkinson
368b40868f Merge branch '2.3.x'
Closes gh-24122
2020-11-11 20:16:51 +00:00
Andy Wilkinson
3e243de41b Merge branch '2.2.x' into 2.3.x
Closes gh-24121
2020-11-11 20:16:39 +00:00
Andy Wilkinson
6a2332d477 Merge branch '2.3.x'
Closes gh-24062
2020-11-05 15:55:09 +00:00
Andy Wilkinson
44d0ce5ff1 Merge branch '2.2.x' into 2.3.x
Closes gh-24060
2020-11-05 15:53:53 +00:00
Andy Wilkinson
a1af99640e Merge branch '2.3.x'
Closes gh-24026
2020-11-04 10:15:26 +00:00
Andy Wilkinson
28f7bc37a5 Merge branch '2.2.x' into 2.3.x
Closes gh-24025
2020-11-04 10:15:07 +00:00
izeye
9c35cd41ad Polish
See gh-23986
2020-11-01 17:07:50 +01:00
Andy Wilkinson
2db8e7eebe Polish "Add liquibase driver class name property"
See gh-23958
2020-10-29 10:06:43 +00:00
Pushkaraj S
e60f26f8cc Polish HTTP/2 Cleartext documentation
See gh-23816
Closes gh-23820
2020-10-23 09:50:55 +02:00
Brian Clozel
9c54a5369d Merge branch '2.3.x'
Closes gh-23816
2020-10-22 21:40:22 +02:00
Brian Clozel
b37eecc015 Merge branch '2.2.x' into 2.3.x
Closes gh-23812
2020-10-22 20:16:01 +02:00
Stephane Nicoll
dd74810c80 Revert "Fix detection logic for embedded databases"
This reverts commit c4a5a347028b827ea53975d1ec80f52a14223c5c.

See gh-23721
2020-10-19 12:25:00 +02:00
Asha Somayajula
c4a5a34702 Fix detection logic for embedded databases
Closes gh-23721
2020-10-17 07:51:24 +02:00
Stephane Nicoll
c0b267feb4 Polish "Fix detection logic for embedded databases"
See gh-23693
2020-10-16 16:32:29 +02:00
Phillip Webb
2595258494 Provide both properties and YAML examples in docs
Update all configuration examples in the docs to YAML and make use of
the new `configblocks` spring-asciidoctor-extensions feature to
automatically create both "Properties" and "Yaml" versions.

Closes gh-23515
2020-10-06 19:27:41 -07:00
Stephane Nicoll
c44e1ec0ad Merge branch '2.3.x'
Closes gh-23462
2020-09-23 14:36:59 +02:00
Stephane Nicoll
b3c5588c86 Merge branch '2.2.x' into 2.3.x
Closes gh-23461
2020-09-23 14:36:41 +02:00
Brian Clozel
20eb8d0fc2 Merge branch '2.3.x'
Closes gh-23253
2020-09-11 11:45:23 +02:00
Brian Clozel
62cb87bd95 Merge branch '2.2.x' into 2.3.x
Closes gh-23252
2020-09-11 11:42:32 +02:00
Madhura Bhave
bbbbe8e4d2 Make security auto-configs back off when SecurityFilterChain present
Closes gh-22739
2020-08-14 12:24:25 -07:00
Stephane Nicoll
2c120eb161 Merge branch '2.3.x'
Closes gh-22900
2020-08-12 09:51:44 +02:00
Stephane Nicoll
38baaf31d3 Merge branch '2.2.x' into 2.3.x
Closes gh-22899
2020-08-12 09:51:25 +02:00
dreis2211
11df8216ad Fix some doc anchors
See gh-22839
2020-08-10 14:34:22 +02:00
Brian Clozel
6336007038 Merge branch '2.3.x'
Closes gh-22826
2020-08-07 16:01:25 +02:00
Brian Clozel
fea535d176 Update HTTP/2 auto-configuration for Jetty
Prior to this commit, the HTTP/2 server auto-configuration for Jetty
would require Conscrypt as a hard dependency.

This commit updates the auto-configuration for more flexibility and now
allows the following deployments:

* JDK9+ with the JDK ALPN implementation
* JDK8u252+ with the backported ALPN implementation
* Conscrypt with no JDK requirement

The auto-configuration now improves detection and guides developers in
case there is a missing `jetty-alpn-*-server` dependency.

The reference docs in the HOWTO section has been updated accordingly.

Closes gh-22188
2020-08-07 15:42:23 +02:00
Andy Wilkinson
9c417d280c Merge branch '2.3.x'
Closes gh-22749
2020-08-05 18:15:59 +01:00