Commit Graph

11222 Commits (40b33728848e4d6a9b0cdba7b9ef736ba9aad18b)
 

Author SHA1 Message Date
Andy Wilkinson c0cb6c30a3 Merge branch '1.5.x' 8 years ago
Andy Wilkinson e36a60dcad Revert "Start building against Spring Data Ingalls snapshots"
This reverts commit 36cb8b9e0c.

See gh-8444
8 years ago
Andy Wilkinson b443b745fb Make static resource handling consistent across embedded containers
Previously, there were a number of inconsistencies in the embedded
containers' handling of static resources. The Servlet spec requires
that static resources can be served from the META-INF/resources/
directory of jars nested inside a war in WEB-INF/lib/. The intention
was also to extend this to cover jar packaging when jars are nested in
BOOT-INF/lib/. This worked when using Tomcat as long as Jasper was on
the classpath. If you didn't have Jasper on the classpath or you
were using Jetty or Undertow it did not work.

This commit updates the configuration of embedded Jetty, Tomcat, and
Undertow so that all three containers handle static resources in the
same way, serving them from jars in WEB-INF/lib/ or /BOOT-INF/lib/.
Numerous intergration tests have been added to verify the behaviour,
including tests for Tomcat 8.0 and 7.0 which is supported in addition
to the default 8.5.x. Note that static resource handling only works
with Jetty 9.3.x and 9.2 and earlier does not support nested jars (
see https://github.com/eclipse/jetty.project/issues/518 for details).

Closes gh-8299
8 years ago
Stephane Nicoll 36fb0ed383 Merge branch '1.5.x' 8 years ago
Stephane Nicoll 19b4833c33 Keep order when filtering artifacts
This commit makes sure that the order of dependencies is kept when they
are filtered.

Closes gh-8397
8 years ago
Stephane Nicoll d7367172ff Merge branch '1.5.x' 8 years ago
Stephane Nicoll d3fe9821ed Merge branch '1.4.x' into 1.5.x 8 years ago
Stephane Nicoll 21ca1af677 Upgrade to Spring Framework 4.3.7.RELEASE
Closes gh-8248
8 years ago
Stephane Nicoll 8163cd4503 Merge branch '1.5.x' 8 years ago
Stephane Nicoll 36cb8b9e0c Start building against Spring Data Ingalls snapshots
See gh-8444
8 years ago
Stephane Nicoll ebd3a65c9d Merge branch '1.4.x' into 1.5.x 8 years ago
Stephane Nicoll 66e6671dcb Start building against Spring Data Hopper snapshots
See gh-8443
8 years ago
Andy Wilkinson e20219aac9 Merge branch '1.5.x' 8 years ago
Andy Wilkinson 545b29552d Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 51e7c2eec9 Merge pull request #8252 from Erling Holmqvist
* gh-8252:
  Polish "Ignore spock.lang annotations when creating test context cache key"
  Ignore spock.lang annotations when creating test context cache key
8 years ago
Andy Wilkinson 98cf35d48e Polish "Ignore spock.lang annotations when creating test context cache key"
See gh-8252
8 years ago
erlholmq 8f18df8a9c Ignore spock.lang annotations when creating test context cache key
See gh-7524
Closes gh-8252
8 years ago
Stephane Nicoll 20bd0f94d6 Merge branch '1.5.x' 8 years ago
Stephane Nicoll f014be59f7 Merge pull request #8392 from kazuki43zoo:polish-doc
* pr/8392:
  Update doc about constructor injection
8 years ago
Kazuki Shimizu fa4ecff9e0 Update doc about constructor injection
Closes gh-8392
8 years ago
Stephane Nicoll cf64d9fd35 Reuse auto-configured `Validator` in WebFlux
This commit makes sure that if a `Validator` is auto-configured, it is
reused as the `webFluxValidator`. This is pretty much the same thing as
what was done recently for Spring MVC.

Since the infrastructure is now shared, the package protected class has
been published in the `.validation` package.

Closes gh-8400
8 years ago
Stephane Nicoll deaa6089b0 Move `HttpHandler` configuration to a dedicated auto-configuration
An `HttpHandler` bean must be provided once the infrastructure triggered
by `@EnableWebFlux` has been processed. Rather than creating a
`HttpHandler` in that auto-configuration, this commit moves it to a
dedicated auto-config, like we do for `DispatcherServlet` for
servlet-based webapps.

As this is the only bean we auto-configure in a functional fashion, the
`WebFluxFunctionalAutoConfiguration` is now merged with this new
auto-configuration, making its purposes clearer.

Cloess gh-8436
8 years ago
Andy Wilkinson 23cda9012c Merge branch '1.5.x' 8 years ago
Andy Wilkinson 627edc0f7a Use a different approach to disable HATEOAS Objenesis instance's cache
Previously, reflection was used to set the OBJENESIS field of
DummyInvocationUtils with an Objenesis instance that does not use
caching. This has stopped working as the field is now declared final.

This commit updates the approach take by HateoasObjenesisCacheDisabler
to disable Objenesis's cache. Rather than changing the value of the
OBJENESIS field on DummyInvocationUtils, the cache field on the
ObjenesisStd instance is set to null instead. This has the desired
effect of disabling Objenesis's caching.

See gh-3784
Closes gh-8335
8 years ago
Andy Wilkinson 1c24d89be7 Merge branch '1.5.x' 8 years ago
Andy Wilkinson d1184bf180 Merge branch '1.4.x' into 1.5.x 8 years ago
Andy Wilkinson 47a59a92d1 Start building against Spring Integration 4.3.8 snapshots
See gh-8435
8 years ago
Phillip Webb a4bcd20b64 Merge branch '1.5.x' 8 years ago
Phillip Webb ca1540cefe Update header copyright for changed files 8 years ago
Phillip Webb 77f6ed8357 Further rework Spring MVC JSR-303 validation
Rework Spring MVC JSR-303 validation support a little more to move
most of the creation logic to the wrapper class. Also rename
`SpringValidatorAdapterWrapper` -> `WebMvcValidator`.

See gh-8223
8 years ago
Phillip Webb 7ed1a26c2d Fix test failures when running in Eclipse
Update MultipartAutoConfigurationTests to reset the Tomcat URL factory.
8 years ago
Phillip Webb 5867cd6175 Polish 8 years ago
Phillip Webb 47fd5f4fac Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb 47b00c086c Polish 8 years ago
Phillip Webb f6db1cbcb2 Extend Microsoft SQL Server detection
Update Microsoft SQL Server detection logic to retain "SQL SERVER"
support (just in case the server string is driver specific).

See gh-8222
8 years ago
Stephane Nicoll d1d70b0207 Merge branch '1.5.x' 8 years ago
Stephane Nicoll 0435f122d4 Rework JSR-303 validation exposure with Spring MVC
This commit improves the initial solution by actually overriding the
`mvcValidator` `@Bean`. This gives us more control as whether a custom
validator has been specified or not. We now wrap it regardless of it
being custom or provided by auto-configuration.

Closes gh-8223
8 years ago
Stephane Nicoll c333ccfe20 Merge branch '1.5.x' 8 years ago
Stephane Nicoll d8f62c46ad Prevent warning due to BPP dependency
`MethodValidationPostProcessor` requires a `Validator` so we need to flag
it as an infrastructure bean to prevent an additional log that indicates
it won't be post-processed.

We obviously don't want to post-process the `Validator` here so adding the
additional meta-data is a good idea anyway.

Closes gh-8422
8 years ago
Stephane Nicoll c5595f296c Add support for Mock test with WebFlux
This commit add mock support for WebFlux with an infrastructure similar
to what `WebMvcTest` provides. `@WebFluxTest` can be used to test
controllers with a narrowed classpath that is relevant to WebFlux. Also,
`@SpringBootTest` now starts WebFlux in "mock" mode by default and
`@AutoConfigureWebTestClient` can be used to inject a `WebTestClient`
connected to the `ApplicationContext`.

To make that happen, a `ReactiveWebApplicationContext` interface has been
introduced to mirror what `WebApplicationContext` currently does. Things
are still a bit volatile at this point and that infra may move to Spring
Framework at some point.

Closes gh-8401
8 years ago
Stephane Nicoll 30564eb619 Merge branch '1.5.x' 8 years ago
Stephane Nicoll f032d2fe03 Polish
Closes gh-8412
8 years ago
Brian Clozel 3a8be10be8 Enable Tomcat, Jetty and Undertow reactive auto-conf
Closes gh-8403
8 years ago
Stephane Nicoll f1d4d8434b Hide javax.servlet.SessionTrackingMode
The server's session can now be configured in both a servlet and a
reactive environment. The latter has not requirement on the servlet API
and this commit removes the requirement to the `SessionTrackingMode`
enum.

Closes gh-8402
8 years ago
Brian Clozel f12a634843 Fix typo in spring-webflux dependency 8 years ago
Brian Clozel d1eafa29da Add missing dependency in docs generation
Reactor Netty and Spring WebFlux were missing.
8 years ago
Stephane Nicoll 12397edbd4 Expose a WebTestClient with `@SpringBootTest`
This commit exposes a `WebTestClient` automatically in a reactive
integration test that uses an embedded web server. This is similar to
what we do with `TestRestTemplate` for servlet based integration tests.

Closes gh-8399
8 years ago
Brian Clozel c1e93d8991 Add WebFlux application sample
This commit adds a sample application for the
annotation variant of Spring WebFlux.
8 years ago
Stephane Nicoll 54939e8e3c Start a reactive web application if necessary
This commit makes sure that `@SpringBootTest` with a reactive setup
starts a web application if necessary.

If both a servlet and a reactive environment are available, a servlet
environment is bootstraped. This commit also adds a way to force a
reactive environment by specifying the `spring.main.web-application-type`
property of the test (e.g. `@TestPropertySource`).

Closes gh-8383
8 years ago
Brian Clozel 8317977e1b Add WebFlux auto-configuration
This commit creates auto-configuration classes for both the
annotation and functional variants of the WebFlux framework.

They provide the basic support to get started with those, by
creating the required `HttpHandler` using the provided application
context (for annotation) or `RouterFunction`s (for functional).

They do support `WebFilter` registration and a few advanced
features such as resource handling, `messageReaders|Writers`
and `ViewResolver` auto-registration.

Closes gh-8386
8 years ago