diff --git a/spring-boot-dependencies/pom.xml b/spring-boot-dependencies/pom.xml index 08dc9bfcc28..58b2039bcdc 100644 --- a/spring-boot-dependencies/pom.xml +++ b/spring-boot-dependencies/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 org.springframework.boot spring-boot-dependencies @@ -1961,9 +1963,9 @@ ${mongodb.version} - org.mortbay.jasper - apache-el - ${jetty-el.version} + org.mortbay.jasper + apache-el + ${jetty-el.version} org.neo4j @@ -2669,4 +2671,4 @@ integration-test - \ No newline at end of file + diff --git a/spring-boot-docs/src/main/asciidoc/howto.adoc b/spring-boot-docs/src/main/asciidoc/howto.adoc index 40595ce2fe3..87e523c5757 100644 --- a/spring-boot-docs/src/main/asciidoc/howto.adoc +++ b/spring-boot-docs/src/main/asciidoc/howto.adoc @@ -1732,11 +1732,10 @@ You can apply the same principle if you are configuring a custom JNDI `DataSourc } ---- - -Spring Boot also provides a utility builder class `DataSourceBuilder` that can be used -to create one of the standard data sources (if it is on the classpath). The builder can -detect the one to use based on the ones available on the classpath and it also auto -detects the driver based on the JDBC url. +Spring Boot also provides a utility builder class `DataSourceBuilder` that can be used to +create one of the standard data sources (if it is on the classpath). The builder can +detect the one to use based on what's available on the classpath. It also auto detects the +driver based on the JDBC url. [source,java,indent=0,subs="verbatim,quotes,attributes"] ---- @@ -1759,7 +1758,7 @@ There is a catch however. Because the actual type of the connection pool is not no keys are generated in the metadata for your custom `DataSource` and no completion is available in your IDE (The `DataSource` interface doesn't expose any property). Also, if you happen to _only_ have Hikari on the classpath, this basic setup will not work because -Hikari has no `url` parameter (but a `jdbcUrl` parameter). You should have to rewrite +Hikari has no `url` parameter (but a `jdbcUrl` parameter). You will have to rewrite your configuration as follows: [source,properties,indent=0] @@ -1861,6 +1860,7 @@ This final example configures two data sources on custom namespaces with the sam than what Spring Boot would do in auto-configuration. + [[howto-use-spring-data-repositories]] === Use Spring Data repositories Spring Data can create implementations for you of `@Repository` interfaces of various diff --git a/spring-boot-docs/src/main/java/org/springframework/boot/jdbc/BasicDataSourceExample.java b/spring-boot-docs/src/main/java/org/springframework/boot/jdbc/BasicDataSourceExample.java index ad154d89e2d..77810befd1d 100644 --- a/spring-boot-docs/src/main/java/org/springframework/boot/jdbc/BasicDataSourceExample.java +++ b/spring-boot-docs/src/main/java/org/springframework/boot/jdbc/BasicDataSourceExample.java @@ -45,4 +45,5 @@ public class BasicDataSourceExample { // end::configuration[] } + } diff --git a/spring-boot-docs/src/main/java/org/springframework/boot/jdbc/CompleteTwoDataSourcesExample.java b/spring-boot-docs/src/main/java/org/springframework/boot/jdbc/CompleteTwoDataSourcesExample.java index b67fe2eca0c..a7da8538576 100644 --- a/spring-boot-docs/src/main/java/org/springframework/boot/jdbc/CompleteTwoDataSourcesExample.java +++ b/spring-boot-docs/src/main/java/org/springframework/boot/jdbc/CompleteTwoDataSourcesExample.java @@ -25,8 +25,8 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; /** - * Example configuration for configuring two data sources with what Spring Boot does - * in auto-configuration. + * Example configuration for configuring two data sources with what Spring Boot does in + * auto-configuration. * * @author Stephane Nicoll */ @@ -50,9 +50,7 @@ public class CompleteTwoDataSourcesExample { @Primary @ConfigurationProperties("app.datasource.foo") public DataSource fooDataSource() { - return fooDataSourceProperties() - .initializeDataSourceBuilder() - .build(); + return fooDataSourceProperties().initializeDataSourceBuilder().build(); } @Bean @@ -61,13 +59,10 @@ public class CompleteTwoDataSourcesExample { return new DataSourceProperties(); } - @Bean @ConfigurationProperties("app.datasource.bar") public DataSource barDataSource() { - return barDataSourceProperties() - .initializeDataSourceBuilder() - .build(); + return barDataSourceProperties().initializeDataSourceBuilder().build(); } // end::configuration[] diff --git a/spring-boot-docs/src/main/java/org/springframework/boot/jdbc/ConfigurableDataSourceExample.java b/spring-boot-docs/src/main/java/org/springframework/boot/jdbc/ConfigurableDataSourceExample.java index 17ce27a2ed4..f012b79c671 100644 --- a/spring-boot-docs/src/main/java/org/springframework/boot/jdbc/ConfigurableDataSourceExample.java +++ b/spring-boot-docs/src/main/java/org/springframework/boot/jdbc/ConfigurableDataSourceExample.java @@ -52,10 +52,10 @@ public class ConfigurableDataSourceExample { @ConfigurationProperties("app.datasource") public HikariDataSource dataSource(DataSourceProperties properties) { return (HikariDataSource) properties.initializeDataSourceBuilder() - .type(HikariDataSource.class) - .build(); + .type(HikariDataSource.class).build(); } // end::configuration[] } + } diff --git a/spring-boot-docs/src/main/java/org/springframework/boot/jdbc/SimpleDataSourceExample.java b/spring-boot-docs/src/main/java/org/springframework/boot/jdbc/SimpleDataSourceExample.java index e3e63491992..cfc47471bdb 100644 --- a/spring-boot-docs/src/main/java/org/springframework/boot/jdbc/SimpleDataSourceExample.java +++ b/spring-boot-docs/src/main/java/org/springframework/boot/jdbc/SimpleDataSourceExample.java @@ -43,8 +43,7 @@ public class SimpleDataSourceExample { @ConfigurationProperties("app.datasource") public HikariDataSource dataSource() { return (HikariDataSource) DataSourceBuilder.create() - .type(HikariDataSource.class) - .build(); + .type(HikariDataSource.class).build(); } // end::configuration[] diff --git a/spring-boot-docs/src/main/java/org/springframework/boot/jdbc/SimpleTwoDataSourcesExample.java b/spring-boot-docs/src/main/java/org/springframework/boot/jdbc/SimpleTwoDataSourcesExample.java index 9f84dd4b118..27d2fc0365b 100644 --- a/spring-boot-docs/src/main/java/org/springframework/boot/jdbc/SimpleTwoDataSourcesExample.java +++ b/spring-boot-docs/src/main/java/org/springframework/boot/jdbc/SimpleTwoDataSourcesExample.java @@ -53,18 +53,14 @@ public class SimpleTwoDataSourcesExample { @Primary @ConfigurationProperties("app.datasource.foo") public DataSource fooDataSource() { - return fooDataSourceProperties() - .initializeDataSourceBuilder() - .build(); + return fooDataSourceProperties().initializeDataSourceBuilder().build(); } - @Bean @ConfigurationProperties("app.datasource.bar") public BasicDataSource barDataSource() { return (BasicDataSource) DataSourceBuilder.create() - .type(BasicDataSource.class) - .build(); + .type(BasicDataSource.class).build(); } // end::configuration[] diff --git a/spring-boot-docs/src/test/java/org/springframework/boot/jdbc/BasicDataSourceExampleTests.java b/spring-boot-docs/src/test/java/org/springframework/boot/jdbc/BasicDataSourceExampleTests.java index 71b4dbff8e4..f9507bc7b59 100644 --- a/spring-boot-docs/src/test/java/org/springframework/boot/jdbc/BasicDataSourceExampleTests.java +++ b/spring-boot-docs/src/test/java/org/springframework/boot/jdbc/BasicDataSourceExampleTests.java @@ -33,6 +33,7 @@ import static org.assertj.core.api.Assertions.assertThat; /** * Test for {@link BasicDataSourceExample}. + * * @author Stephane Nicoll */ @RunWith(SpringRunner.class) diff --git a/spring-boot-docs/src/test/java/org/springframework/boot/jdbc/CompleteTwoDataSourcesExampleTests.java b/spring-boot-docs/src/test/java/org/springframework/boot/jdbc/CompleteTwoDataSourcesExampleTests.java index ba7f261b61c..920a224baba 100644 --- a/spring-boot-docs/src/test/java/org/springframework/boot/jdbc/CompleteTwoDataSourcesExampleTests.java +++ b/spring-boot-docs/src/test/java/org/springframework/boot/jdbc/CompleteTwoDataSourcesExampleTests.java @@ -47,12 +47,10 @@ public class CompleteTwoDataSourcesExampleTests { @Test public void validateConfiguration() throws SQLException { assertThat(this.context.getBeansOfType(DataSource.class)).hasSize(2); - DataSource dataSource = this.context.getBean(DataSource.class); assertThat(this.context.getBean("fooDataSource")).isSameAs(dataSource); assertThat(dataSource.getConnection().getMetaData().getURL()) .startsWith("jdbc:h2:mem:"); - DataSource barDataSource = this.context.getBean("barDataSource", DataSource.class); assertThat(barDataSource.getConnection().getMetaData().getURL()) diff --git a/spring-boot-docs/src/test/java/org/springframework/boot/jdbc/SampleApp.java b/spring-boot-docs/src/test/java/org/springframework/boot/jdbc/SampleApp.java index 0053272581b..786324fe6c2 100644 --- a/spring-boot-docs/src/test/java/org/springframework/boot/jdbc/SampleApp.java +++ b/spring-boot-docs/src/test/java/org/springframework/boot/jdbc/SampleApp.java @@ -23,8 +23,8 @@ import org.springframework.boot.autoconfigure.ImportAutoConfiguration; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; /** - * A sample {@link SpringBootConfiguration} that only enables the auto-configuration - * for the {@link DataSource}. + * A sample {@link SpringBootConfiguration} that only enables the auto-configuration for + * the {@link DataSource}. * * @author Stephane Nicoll */ diff --git a/spring-boot-docs/src/test/java/org/springframework/boot/jdbc/SimpleTwoDataSourcesExampleTests.java b/spring-boot-docs/src/test/java/org/springframework/boot/jdbc/SimpleTwoDataSourcesExampleTests.java index 885603d8f3c..01ad89b4230 100644 --- a/spring-boot-docs/src/test/java/org/springframework/boot/jdbc/SimpleTwoDataSourcesExampleTests.java +++ b/spring-boot-docs/src/test/java/org/springframework/boot/jdbc/SimpleTwoDataSourcesExampleTests.java @@ -38,8 +38,7 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Stephane Nicoll */ @RunWith(SpringRunner.class) -@SpringBootTest(properties = { - "app.datasource.bar.url=jdbc:h2:mem:bar;DB_CLOSE_DELAY=-1", +@SpringBootTest(properties = { "app.datasource.bar.url=jdbc:h2:mem:bar;DB_CLOSE_DELAY=-1", "app.datasource.bar.max-total=42" }) @Import(SimpleTwoDataSourcesExample.SimpleDataSourcesConfiguration.class) public class SimpleTwoDataSourcesExampleTests { @@ -50,16 +49,13 @@ public class SimpleTwoDataSourcesExampleTests { @Test public void validateConfiguration() throws SQLException { assertThat(this.context.getBeansOfType(DataSource.class)).hasSize(2); - DataSource dataSource = this.context.getBean(DataSource.class); assertThat(this.context.getBean("fooDataSource")).isSameAs(dataSource); assertThat(dataSource.getConnection().getMetaData().getURL()) .startsWith("jdbc:h2:mem:"); - BasicDataSource barDataSource = this.context.getBean("barDataSource", BasicDataSource.class); - assertThat(barDataSource.getUrl()) - .isEqualTo("jdbc:h2:mem:bar;DB_CLOSE_DELAY=-1"); + assertThat(barDataSource.getUrl()).isEqualTo("jdbc:h2:mem:bar;DB_CLOSE_DELAY=-1"); assertThat(barDataSource.getMaxTotal()).isEqualTo(42); }