Commit Graph

2775 Commits (7e8e2c486e910cf43b687f4949f40c2bca55d5df)

Author SHA1 Message Date
Andy Wilkinson 9caf82ce80 Remove redundant ordering from ImportBeanDefinitionRegistrar implementations
Closes gh-8603
8 years ago
Stephane Nicoll 0aded58884 Polish "Add auto-configuration support for Hazelcast client"
Closes gh-7469
8 years ago
Vedran Pavic 3fbf1a2ea6 Add auto-configuration support for Hazelcast client
See gh-7469
8 years ago
Stephane Nicoll 5247fa323b Harmonize reactive auto-configuration class names
Closes gh-9086
8 years ago
Stephane Nicoll de268d97e2 Add auto-configuration for reactive Redis
This commit provides an auto-configuration for reactive Redis and a
starter that provides Lettuce as Jedis doesn't support reactive
operations.

There are no support for reactive redis repositories at the moment so
only a `ReactiveRedisTemplate` is auto-configured if necessary.

Closes gh-8053
8 years ago
Eddú Meléndez 1d9fa8395c Replace lambdas with method references
Closes gh-9049
8 years ago
Stephane Nicoll b0ffe18e15 Merge branch '1.5.x' 8 years ago
Stephane Nicoll ea33cc2f7d Deprecated MustacheCompilerFactoryBean
Closes gh-8999
8 years ago
Stephane Nicoll 2b4f2c6aba Making sure to stop embedded web servers in tests
Closes gh-9012
8 years ago
Stephane Nicoll 5121b848e1 Making sure to stop embedded web servers in tests
Closes gh-9012
8 years ago
Andy Wilkinson 4a00f90545 Stop throwing checked exception from @PostConstruct in ResourceServerProperties
Closes gh-8916
8 years ago
Phillip Webb 97dc2165b7 Polish 8 years ago
Madhura Bhave c04f28d9e5 Validate ResourceServerProperties in PostConstruct
Closes gh-8916
8 years ago
Stephane Nicoll 47783e258a Add missing tests 8 years ago
Stephane Nicoll e7efa8f133 Polish "Add Lettuce Redis driver autoconfiguration"
Closes gh-5311
8 years ago
Mark Paluch 4563da9ac7 Add Lettuce Redis driver autoconfiguration
Introduce an alternative autoconfiguration if the lettuce Redis driver is
available. Add Lettuce-specific configuration property options
"spring.redis.lettuce.shutdown-timeout" to control the shutdown timeout
of the lettuce driver. Add documentation for the properties, the
supported drivers, and how to switch between drivers.

Split client-specific properties from spring.redis.pool to
spring.redis.jedis.pool and introduce spring.redis.lettuce namespace.
Deprecate spring.redis.pool property.

See gh-5311
8 years ago
Phillip Webb 77d427af6c Fix occasional Jetty test failures
Update `DefaultServletWebServerFactoryCustomizerTests` so that the Jetty
access log tests use the default timezone. Prior to this commit it was
possible that running the tests outside of UTC could result in Jetty
throwing a "negative delay" IllegalArgumentException.

See gh-8819
8 years ago
Phillip Webb 3f71b8453f Migrate missed tests to new Binder
Migrate a few tests that were missed to use the new `Binder`.

See gh-9000
8 years ago
Phillip Webb 76593a3806 Merge branch '1.5.x' 8 years ago
Phillip Webb 72813a47e7 Polish 8 years ago
Phillip Webb 76ee2f401c Polish 8 years ago
Phillip Webb 4db4c81b9b Polish 8 years ago
Stephane Nicoll 7c4a1a221d Merge branch '1.5.x' 8 years ago
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
8 years ago
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
8 years ago
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
8 years ago
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.
8 years ago
Stephane Nicoll d4f87ae74e Polish 8 years ago
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
8 years ago
Madhura Bhave 69ab2e462e Use new configuration properties in autoconfigure
Update `spring-boot-autoconfigure` to use the new configuration
properties support.

See gh-9000
8 years ago
Phillip Webb 82b839e4fb Polish OnWebApplicationCondition message 8 years ago
Phillip Webb 45dd9f7144 Polish 8 years ago
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
8 years ago
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
8 years ago
Stephane Nicoll 800eb010b1 Change the default JDBC connection pool to Hikari
Closes gh-6013
8 years ago
Stephane Nicoll 3dc9b125d7 Merge branch '1.4.x' into 1.5.x 8 years ago
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.
8 years ago
Stephane Nicoll 227bcf44da Create jetty access log file in the temp directory 8 years ago
Stephane Nicoll 66298d85c4 Fix build 8 years ago
Stephane Nicoll e9abe3fcca Polish "Do not expose `exception` error attribute by default"
Closes gh-8971
8 years ago
Vedran Pavic afe0c6f432 Do not expose `exception` error attribute by default
See gh-8971
8 years ago
Stephane Nicoll f5db75792e Add support for configuring Jetty's request log via the environment
Closes gh-8819
8 years ago
olivier lamy ce892a06e4 Add support for configuring Jetty's request log via the environment
See gh-8819
8 years ago
Stephane Nicoll 45f76965f6 Rename cassandra bean names
Closes gh-8982
8 years ago
Stephane Nicoll 47037d5227 Polish "Add reactive support for Spring Data Cassandra"
Closes gh-8568
8 years ago
Eddú Meléndez abd35f041b Add reactive support for Spring Data Cassandra
See gh-8568
8 years ago
Madhura Bhave bc1ee76b55 Change default for new_generator_mappings to true
Closes gh-7612
8 years ago
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
8 years ago
Phillip Webb 06558675bb Polish 8 years ago
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
8 years ago
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
8 years ago
Madhura Bhave c2e5fd031a Replace usage of WebMvcConfigurerAdapter
Closes gh-8964
8 years ago
Phillip Webb 28d6881118 Formatting 8 years ago
Stephane Nicoll 3e60ec6cb4 Polish "Add database initializer for Spring Integration"
Closes gh-8881
8 years ago
Vedran Pavic 48bc29c77a Add database initializer for Spring Integration
See gh-8881
8 years ago
Stephane Nicoll 50b3b3025a Fix broken build 8 years ago
Stephane Nicoll 144868a3ce Polish "Support of Neo4j auto-index configuration"
Closes gh-8843
8 years ago
Aurélien Leboulanger 779733c379 Support of Neo4j auto-index configuration
See gh-8843
8 years ago
Spring Buildmaster 9768b0a8c2 Next Development Version 8 years ago
Phillip Webb 9981ae6874 Rename WebFluxAnnotationAutoConfiguration
Rename WebFluxAnnotationAutoConfiguration to WebFluxAutoConfiguration
to better align with Spring MVC.
8 years ago
Phillip Webb 99a3ec8b74 Merge branch '1.5.x' 8 years ago
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
8 years ago
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
8 years ago
Spring Buildmaster d719d2cbbc Next Development Version 8 years ago
Phillip Webb 81fef71fcb Merge branch '1.5.x' 8 years ago
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
8 years ago
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
8 years ago
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
8 years ago
Phillip Webb 94209e2883 Merge branch '1.5.x' 8 years ago
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
8 years ago
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
8 years ago
Phillip Webb 383640d5ec Merge branch '1.5.x' 8 years ago
Phillip Webb b2ae6b5f50 Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb cdf3eadc95 Rename AbstractTemplateAvailabilityProvider
Rename `AbstractTemplateAvailabilityProvider` to
`PathBasedTemplateAvailabilityProvider`.

Closes gh-8913
8 years ago
Stephane Nicoll 92468d4ffc Merge branch '1.5.x' 8 years ago
Stephane Nicoll e1f727719a Merge branch '1.4.x' into 1.5.x 8 years ago
Stephane Nicoll b7efec5401 Support case insensitive value for Cassandra's SchemaAction
Closes gh-8903
8 years ago
Brian Clozel 23360d11a2 Change codec auto-configuration in HandlerStrategies
Since SPR-15415 and SPR-15435, the HandlerStrategies and its companion
builder are now using the new CodecConfigurer infrastructure to
configure codecs in a cross-cutting way.

This commit looks for a custom instance of `HandlerStrategies.Builder`
provided by the user, or create a default one if none was found.

Fixes gh-8897
8 years ago
Stephane Nicoll eeed3a841c Review configuration properties appendix 8 years ago
Stephane Nicoll 5114c9d651 Polish "Handle null value in OnExpressionCondition"
Closes gh-8128
8 years ago
tinexw ccf1800116 Handle null value in OnExpressionCondition
Closes gh-2886
8 years ago
Stephane Nicoll 036157aeae Polish "Use JDK hashCode() variants for primitives"
Closes gh-8768
8 years ago
dreis f3bbbc4530 Use JDK hashCode() variants for primitives
See gh-8768
8 years ago
Stephane Nicoll d3f180b664 Merge branch '1.5.x' 8 years ago
Stephane Nicoll 715cf7da75 Do not enable cglib if spring.aop.proxy-target-class is configured
This commit makes sure to honour the `spring.aop.proxy-target-class`
property if set by the user. Previously, the
`PersistenceExceptionTranslationPostProcessor` was always configured to
use cglib, regardless of the value of that property.

Closes gh-8887
8 years ago
Stephane Nicoll 2f2b1a0e8f Polish 8 years ago
Stephane Nicoll bcb13bea63 Split JPA-specific bits of Batch auto-config
This commit separates the JPA-specific bits of the batch
auto-configuration so that it is possible to reuse most of the logic if
JPA isn't available at all.

Closes gh-8877
8 years ago
Phillip Webb c4cba6b0ea Merge branch '1.5.x' 8 years ago
Phillip Webb c97268981a Polish 8 years ago
Phillip Webb d301d0f4c3 Merge branch '1.4.x' into 1.5.x 8 years ago
Phillip Webb 758ddcd420 Polish 8 years ago
Stephane Nicoll bd28de09b0 Merge branch '1.5.x' 8 years ago
Stephane Nicoll a00b695748 Do not enable cglib if spring.aop.proxy-target-class is configured
This commit makes sure to honour the `spring.aop.proxy-target-class`
property if set by the user. Previously, the
`MethodValidationPostProcessor` was always configured to use cglib,
regardless of the value of that property.

Closes gh-8869
8 years ago
Stephane Nicoll 134e93f3fd Fix API change in latest snapshot 8 years ago
Stephane Nicoll 2bdbe343df Merge branch '1.5.x' 8 years ago
Stephane Nicoll a132bd141f Merge branch '1.4.x' into 1.5.x 8 years ago
Stephane Nicoll 0a55e3e736 Polish "Clarify edge case docs on ConditionalOnClass"
Closes gh-8185
8 years ago
Andy Wilkinson aacdeaea4e Merge branch '1.5.x' 8 years ago
Andy Wilkinson 035cbd91f4 Use main thread in OnClassCondition if thread create/start fails
Previously, as a result of the changes made in de50cfa21e, an
application would fail to start on Google AppEngine as it prevents
the creation of new threads.

This commit updates OnClassCondition so that it falls back to
performing the work on the main thread when its unable to shift it
to a separate thread.

Closes gh-8584
8 years ago
Phillip Verheyden 08f8219248 Clarify edge case docs on ConditionalOnClass
When used as a meta-annotation the value() attribute of
@ConditionalOnClass will fail silently resulting in the @Conditional
nature of the annotation being ignored.

See gh-8185
8 years ago