Commit Graph

2703 Commits

Author SHA1 Message Date
Stephane Nicoll
7c4a1a221d Merge branch '1.5.x' 2017-04-28 15:45:44 +02:00
Brian Clozel
f2c63706da Change default file extension for Mustache templates
This commit changes the default file extension for Mustache templates,
from `.html` to `.mustache`, which is the file extension used in the
official reference documentation and by most IDE plugins.

Fixes gh-8997
2017-04-28 14:12:26 +02:00
Brian Clozel
4d5dcca553 Add Thymeleaf auto-configuration for WebFlux
Thymeleaf 3.0 implements the Spring 5.0 view infrastructure for WebMVC
and the new WebFlux framework. This commit adds auto-configuration for
the WebFlux support.

In that process, the configuration property for `spring.thymeleaf` has
been changed to add `spring.thymeleaf.servlet` and
`spring.thymeleaf.reactive` for MVC/WebFlux specific properties.

Now that the `spring-boot-starter-thymeleaf` does not only support
Spring MVC, the transitive dependency on `spring-boot-starter-web` is
removed from it.

Fixes gh-8124
2017-04-28 14:11:45 +02:00
Stephane Nicoll
1de2316a0b Refine validator and MVC validator configuration
This commit ensures that a primary JSR 303 and Spring Validator will be
exposed if the auto-configuration kicks in. As `LocalValidatorFactoryBean`
exposes 3 contracts (JSR-303 `Validator` and `ValidatorFactory` as well as
the `Spring` validator one), this makes sure that those types can be
injected by type.

`LocalValidatorFactoryBean` exposes 3 contracts and we're only checking
for the absence of a `javax.validation.Validator` to auto-configure a
`LocalValidatorFactoryBean`. If no standard JSR validator exists but a
Spring's `Validator` exists and is primary, we shouldn't flag the
auto-configured one as `@Primary`. Previous iterations on this feature
have made sure that we'll auto-configure at most one
`javax.validation.Validator` so not flagging it `@Primary` is no problem.

This commit also restores and adds tests that validates
`ValidationAutoConfiguration` will configure a JSR validator even if a
Spring Validator is present.

This effectively fixes gh-8495 in a different way.

Closes gh-8979
Closes gh-8976
2017-04-28 11:41:42 +02:00
Stephane Nicoll
f42998f5ca Revert "Refine validator and MVC validator configuration"
This commit reverts c9561f0 and 69a8c0d and effectivly fixes gh-8979 but
reintroduces the issue reported in gh-8495.
2017-04-28 11:12:09 +02:00
Stephane Nicoll
d4f87ae74e Polish 2017-04-28 10:07:28 +02:00
Phillip Webb
df9d2bc9f4 Remove @ConditionalOnProperty 'relaxed' attribute
Remove the `relaxed` attribute from `@ConditionalOnProperty` and instead
rely on the direct configuration property source relaxed name support.

Closes gh-9003
2017-04-27 13:59:25 -07:00
Madhura Bhave
69ab2e462e Use new configuration properties in autoconfigure
Update `spring-boot-autoconfigure` to use the new configuration
properties support.

See gh-9000
2017-04-27 13:59:25 -07:00
Phillip Webb
82b839e4fb Polish OnWebApplicationCondition message 2017-04-27 13:58:52 -07:00
Phillip Webb
45dd9f7144 Polish 2017-04-27 12:04:02 -07:00
Phillip Webb
42e24136ef Drop spring-social-web-thymeleaf3
Drop `spring-social-web-thymeleaf3` dependency since it's been merged
into `spring-social-web` as of Spring Social 2.0.

Fixes gh-9017
2017-04-27 11:29:56 -07:00
Vedran Pavic
33dd9d6d84 Remove Spring Session Mongo support
Remove auto-configuration support for Spring Session Mongo since it is
no longer supported in Spring Session 2.0.

See gh-9011
2017-04-27 10:59:22 -07:00
Stephane Nicoll
800eb010b1 Change the default JDBC connection pool to Hikari
Closes gh-6013
2017-04-27 16:11:45 +02:00
Stephane Nicoll
3dc9b125d7 Merge branch '1.4.x' into 1.5.x 2017-04-27 14:30:40 +02:00
Stephane Nicoll
703a6dc056 Prevents BasicErrorControllerIntegrationTest to start another server
`BasicErrorControllerIntegrationTest` is handling the context in each test
and yet it starts a useless test via `@SpringBootTest`. This commit
removes the useless runner and associated annotations.
2017-04-27 14:26:50 +02:00
Stephane Nicoll
227bcf44da Create jetty access log file in the temp directory 2017-04-27 14:19:08 +02:00
Stephane Nicoll
66298d85c4 Fix build 2017-04-27 14:12:32 +02:00
Stephane Nicoll
e9abe3fcca Polish "Do not expose exception error attribute by default"
Closes gh-8971
2017-04-27 11:15:44 +02:00
Vedran Pavic
afe0c6f432 Do not expose exception error attribute by default
See gh-8971
2017-04-27 10:57:04 +02:00
Stephane Nicoll
f5db75792e Add support for configuring Jetty's request log via the environment
Closes gh-8819
2017-04-27 10:46:38 +02:00
olivier lamy
ce892a06e4 Add support for configuring Jetty's request log via the environment
See gh-8819
2017-04-26 19:35:43 +02:00
Stephane Nicoll
45f76965f6 Rename cassandra bean names
Closes gh-8982
2017-04-26 15:47:20 +02:00
Stephane Nicoll
47037d5227 Polish "Add reactive support for Spring Data Cassandra"
Closes gh-8568
2017-04-26 15:31:01 +02:00
Eddú Meléndez
abd35f041b Add reactive support for Spring Data Cassandra
See gh-8568
2017-04-26 15:31:01 +02:00
Madhura Bhave
bc1ee76b55 Change default for new_generator_mappings to true
Closes gh-7612
2017-04-25 12:09:36 -07:00
Phillip Webb
1ad318d8a6 Refine Mustache support
Refine Mustache support to provide a cleaner separation between the
reactive and servlet implementations. The views have now moved to the
`spring-boot` project and the auto-configuration has been split into
two distinct `@Imports` to save needing full package declarations.

See gh-8941
2017-04-25 10:07:22 -07:00
Phillip Webb
06558675bb Polish 2017-04-25 09:45:14 -07:00
Brian Clozel
ec25e51f1f Refactor Mustache views support in Spring MVC
This commit simplifies the Mustache support for Spring MVC and removes
the included (view-based) i18n support in favor of more idiomatic
constructs like Mustache lambdas.

Fixes gh-8941
2017-04-25 11:27:18 +02:00
Brian Clozel
7e77e648bf Add Mustache support for Spring WebFlux apps
This commit moves the existing Spring MVC Mustache support to its own
`servlet` package and adds a new one under `reactive` for the WebFlux
web applications.

New `MustacheView` and `MustacheViewResolver` types resolve and render
Mustache views for WebFlux applications.

Since this templating engine is now supported by two flavors of Spring
web apps, the `spring-boot-starter-mustache` does not depend anymore on
the `spring-boot-starter-web` one: it's up to the developer to add the
relevant starter `web` or `webflux` to their application.

Fixes gh-8648
2017-04-25 11:27:18 +02:00
Madhura Bhave
c2e5fd031a Replace usage of WebMvcConfigurerAdapter
Closes gh-8964
2017-04-24 15:31:39 -07:00
Phillip Webb
28d6881118 Formatting 2017-04-24 14:33:50 -07:00
Stephane Nicoll
3e60ec6cb4 Polish "Add database initializer for Spring Integration"
Closes gh-8881
2017-04-24 15:16:07 +02:00
Vedran Pavic
48bc29c77a Add database initializer for Spring Integration
See gh-8881
2017-04-24 14:46:40 +02:00
Stephane Nicoll
50b3b3025a Fix broken build 2017-04-24 12:19:30 +02:00
Stephane Nicoll
144868a3ce Polish "Support of Neo4j auto-index configuration"
Closes gh-8843
2017-04-24 11:18:05 +02:00
Aurélien Leboulanger
779733c379 Support of Neo4j auto-index configuration
See gh-8843
2017-04-24 11:01:38 +02:00
Spring Buildmaster
9768b0a8c2 Next Development Version 2017-04-21 08:32:01 +00:00
Phillip Webb
9981ae6874 Rename WebFluxAnnotationAutoConfiguration
Rename WebFluxAnnotationAutoConfiguration to WebFluxAutoConfiguration
to better align with Spring MVC.
2017-04-20 16:02:49 -07:00
Phillip Webb
99a3ec8b74 Merge branch '1.5.x' 2017-04-20 16:01:58 -07:00
Phillip Webb
5f3d5fbec1 Remove public "skip path extension" constant
Remove the public constant to make it clearer that skipping path
extensions is really an internal Spring Boot concern.

See gh-8765
2017-04-20 13:31:04 -07:00
Phillip Webb
69a8c0d871 Fix MVC validator configuration warning
Replace the MVC validator post processor with an `@Import` so
that a "cannot enhance @Configuration bean definition"
warning does not occur.

Fixes gh-8951
See gh-8495
2017-04-20 11:57:18 -07:00
Spring Buildmaster
d719d2cbbc Next Development Version 2017-04-20 12:46:19 +00:00
Phillip Webb
81fef71fcb Merge branch '1.5.x' 2017-04-19 22:48:46 -07:00
Dave Syer
14638e67bc Extended PropertiesLauncher class location logic
Update `PropertiesLauncher` so that classes can be loaded outside of
`BOOT-INF/classes`. You can use a subdirectory, or the root directory
of an external jar (but not the parent archive to avoid issues
with agents and awkward delegation models).

Fixes gh-8480
Closes gh-8486
2017-04-19 22:18:12 -07:00
Phillip Webb
5abc050a96 Support detection and with test initializers
Relax `SpringBootTestContextBootstrapper` rules so that a test can
specify an `ApplicationContextInitializer` and still have
`@SpringBootConfiguration` detected.

Prior to this commit detection would not occur because it's possible
that an initializer _could_ register configuration. This scenario is
actually quite unlikely to occur, certainly less likely than wanting to
use an initializer in combination with auto-detection.

Fixes gh-8483
2017-04-19 22:18:12 -07:00
Phillip Webb
c9561f031c Refine validator and MVC validator configuration
Update `ValidationAutoConfiguration` and `WebMvcAutoConfiguration` to
ensure as much as possible that only a single Validator bean of each
type is registered.

Validation auto-configuration now does the following:
- If no validator is found: Registers a `LocalValidatorFactoryBean`
  (providing both Spring and JSR validation)
- If the user defines a Spring & JSR validator: Backs off
- If the user defines only a JSR validator: Adapts it to a Spring
  validator (without exposing another JSR implementation)

WebMvcAutoConfiguration auto-configuration has been updated to make
MVC validation follow common Spring Boot patterns:
- If not validator beans are found (due to the user excluding
  ValidationAutoConfiguration) a new `mvcValidator` bean will be
  registered.
- If a single validator bean is found it will be used for MVC
  validation.
- If multiple validator beans are defined it will either use the one
  named `mvcValidator` or it will register a new `mvcValidator` bean

Any automatically registered `mvcValidator` bean will not implement
the JSR validator interface.

Finally, it is no longer possible to provide an MVC validator via a
`WebMvcConfigurer`.

Fixes gh-8495
2017-04-19 22:18:12 -07:00
Phillip Webb
94209e2883 Merge branch '1.5.x' 2017-04-18 15:06:43 -07:00
Andy Wilkinson
b9be0e3e0f Skip actuator path extension content negotiation
Allow `PathExtensionContentNegotiationStrategy` to be bypassed by
actuator endpoints. Prior to this commit calling `/loggers/com.aaa.cab`
would return a HTTP 406 response due to `.cab` being a known extension.

Fixes gh-8765
2017-04-18 14:56:11 -07:00
Walter Seymore
f5f65463d2 Fail fast on getKeyFromServer() failure
Update `ResourceServerTokenServicesConfiguration` to fail fast if the
`getKeyFromServer()` call fails. Since the key is part of the singleton
`JwtAccessTokenConverter` bean there is not real way to refresh without
restarting the application.

A hard failure seems preferable to an inconsistent state.

Closes gh-8924
2017-04-18 14:56:10 -07:00
Phillip Webb
383640d5ec Merge branch '1.5.x' 2017-04-17 22:15:33 -07:00