Commit Graph

477 Commits

Author SHA1 Message Date
Dave Syer a3b29b0e42 Add /webjars/** to default list of unsecured resources
Fixes gh-2460
2016-06-14 10:31:39 +01:00
Johnny Lim a70a8635f9 Polish
Closes gh-6155
2016-06-14 08:35:22 +02:00
Stephane Nicoll 7afe1d16a6 Add Jest support
This commit adds auto-configuration support for Jest, an HTTP client for
Elasticsearch. If Jest is present, a `JestClient` targeting a local
elasticsearch instance is auto-configured. Several properties from the
`spring.jest.*` namespace allows to tune the client.

Closes gh-6032
2016-06-13 15:25:10 +02:00
Brian Clozel 6dc0ecb182 Add WebMvcRegistrations for custom MVC components
Add `WebMvcRegistrations` which can be used to provide custom
instances of `RequestMappingHandlerMapping`,
`RequestMappingHandlerAdapter` and `ExceptionHandlerExceptionResolver`.
Those instances are then used and processed by the Boot MVC
configuration.

Prior to this commit, developers could provide their custom instances
of MVC infrstructure components such as `RequestMappingHandlerMapping`
and `RequestMappingHandlerAdapter` only by using advanced configuration
strategies. Those advanced configurations involved subclassing
`WebMvcConfigurationSupport` which effectively turns off MVC
auto-configuration in Boot.

Fixes gh-5004
Closes gh-6100
2016-06-10 10:40:06 -07:00
Phillip Webb 0a475946a1 Document RestTemplateBuilder and @RestClientTest
See gh-6030
See gh-5507
2016-05-31 10:18:07 -07:00
Phillip Webb bc6f1cfdf3 Polish 2016-05-31 09:22:42 -07:00
Stephane Nicoll 71917abccf Fix typo
See gh-6004
2016-05-30 12:14:51 +02:00
Johnny Lim 70adefc87b Polish
Closes gh-6046
2016-05-26 14:58:41 +02:00
Stephane Nicoll 44b4df2d3d Deprecate hornetq support
Closes gh-6034
2016-05-26 14:14:59 +02:00
Stephane Nicoll f257b6a0b5 Polish "Add activemq starter" contribution
Closes gh-6010
2016-05-26 11:40:24 +02:00
Stephane Nicoll 50e0bb2d9c Improve DataJpaTest documentation
As `@DataJpaTest` is meta-annotated with `@Transactional`, all data jpa
tests are transactional and rollback at the end of each test. It is
possible to tune that in many ways, including disabling the transaction
per test or per test class.

This commit improves the doc to explain those concepts.

Closes gh-5993
2016-05-25 11:28:16 +02:00
Stephane Nicoll 9ab5c09905 Add reference to `@TestPropertySource` in the doc
Closes gh-5899
2016-05-24 09:07:26 +02:00
Stephane Nicoll 3d0b682f0f Document `none` cache type
Closes gh-6004
2016-05-23 07:09:06 +02:00
Stephane Nicoll 9182ada260 Polish doc
Closes gh-6009
2016-05-23 06:52:28 +02:00
Dave Syer ba824b240b Add uuid generator to RandomValuePropertySource
A well-formed string represenation of a UUID can now be generated
by ${random.uuid}.
2016-05-22 10:36:54 +01:00
Stephane Nicoll 6698af08df Replace Starter POM to Starter in the documentation
"Starter POM" is a confusing term as it implies the starter may be a
POM while it's actually a jar artifact like any other dependency. To
reduce the confusion (especially in the way such starter should be
declared in the build), the term Starter POM has been renamed to Starter.

Closes gh-5966
2016-05-18 08:55:42 +02:00
Stephane Nicoll 00f9adafd7 Stop creating a primary `Oauth2RestTemplate`
This commit removes the creation of a `@Primary` `OAuth2RestTemplate`
and updates the documentation accordingly.

Once #5507 is implemented we could revisit this area to provide a way for
users to easily create such a bean.

Closes gh-5202
2016-05-13 17:26:22 +02:00
Stephane Nicoll dcb4fe8304 Add JMX support to the Spring Integration starter
Closes gh-1440
2016-05-13 16:33:35 +02:00
Johnny Lim 7c34dd87c1 Polish
Closes gh-5925
2016-05-12 07:55:19 +02:00
Johnny Lim 38dc9ec441 Polish 2016-05-10 14:48:42 +01:00
Stephane Nicoll 832d2b7bb2 Rephrased connection pool detection algorithm
Closes gh-5864
2016-05-09 08:15:01 +02:00
Stephane Nicoll b7e7bcf717 Make `spring.session.store-type` mandatory
Previously, Spring Session would be auto-configured by the mere presence
of Spring Session in the classpath. This was fragile as determining a
store type according to the environment could easily change when the
classpath of the project changes.

This commit makes the store-type property mandatory. If it is not set,
Spring Session is no longer auto-configured.

Closes gh-5838
2016-05-09 08:07:25 +02:00
Stephane Nicoll bf89c8ee46 Polish spring session auto-configuration
This commit improves the initial submission by adding more tests and
more configuration options.

Closes gh-5158
2016-05-02 15:02:53 +02:00
Eddú Meléndez 0be00e2a6d Polish session auto-configuration
See gh-5158
2016-05-02 14:33:24 +02:00
Phillip Webb 0bf025af7b Add out-of-the-box support for status error pages
Allow convention based status error pages. Static HTML or templates
can be used by placing the appropriately named file under a `/error`
folder. For example:

	/src/main/resource/templates/error/404.ftl
or	/src/main/resource/public/error/404.html

Pages can also be named after the status series (5xx or 4xx).

Fixes gh-2691
2016-04-29 14:02:59 -07:00
Johnny Lim db2092e27d Polish
Closes gh-5798
2016-04-26 08:17:13 +02:00
Dustin Schultz a3469c5e26 Update docs with Servlet property load ordering
Fixes gh-5752
Closes gh-5752
2016-04-25 14:20:20 -07:00
Stephane Nicoll 11f763ef89 Polish doc
Closes gh-789
2016-04-24 05:46:26 +02:00
Matt Benson b9aee3678d Polish
See gh-4953
Closes gh-5745
2016-04-21 12:53:43 +02:00
Johnny Lim 6d48ee9593 Polish
Closes gh-5714
2016-04-17 09:26:05 +02:00
Phillip Webb 5881c9c74f Polish 2016-04-15 22:39:35 -07:00
Stephane Nicoll f561d9d9d8 Polish auto-configuration for Spring Web Services
Closes gh-5645
2016-04-15 11:01:15 +02:00
Stephane Nicoll e4106e592a Polish doc
Closes gh-5675
2016-04-15 08:58:18 +02:00
Phillip Webb 99ea724c71 Polish docs 2016-04-12 22:45:43 -07:00
Phillip Webb 296bbbc7bd Polish docs 2016-04-12 21:24:44 -07:00
Phillip Webb 2d71b08eef Fix copy/paste error in documentation 2016-04-12 20:06:35 -07:00
Johnny Lim 030096c490 Polish
Closes gh-5661
2016-04-12 07:41:09 +02:00
Andy Wilkinson 5677b222d2 Document using @TestConfiguration to customize app's primary config
Closes gh-5566
2016-04-11 21:15:06 +01:00
Michael J. Simons aaed87d176 Register printed banner in ApplicationContext
Update SpringApplication to store the banner that was actually printed
as a bean named `springBootBanner`.

Closes gh-5636
2016-04-11 10:54:22 -07:00
Phillip Webb a39d351eed Polish profile negation in YAML sub-documents
Closes gh-4953
2016-04-10 23:23:59 -07:00
Matt Benson bd010494c9 Support profile negation in YAML sub-documents
See gh-4953
2016-04-10 23:22:31 -07:00
Stephane Nicoll 99dae09f84 Improve caching documentation
Add a note regarding the use of `@EnableCaching(proxyTargetClass=true)`
for beans that are not interface based.

Closes gh-5527
2016-04-08 13:01:50 +02:00
Phillip Webb d058ddbe3b Add image banner documentation
Closes gh-4647
2016-04-07 23:21:18 -07:00
Phillip Webb 75c76838b5 Add Narayana reference documentation
Closes gh-5552
2016-04-06 19:16:34 -07:00
Phillip Webb ec33c59f6b Polish 2016-04-06 18:15:12 -07:00
Johnny Lim a55315b5b5 Polish
Closes gh-5614
2016-04-06 10:25:45 +02:00
Stephane Nicoll 05ef0818f8 Polish contribution
Closes gh-5511
2016-04-05 12:38:04 +02:00
Phillip Webb b398b3319c Rename @SpringApplicationTest -> @SpringBootTest
Rename @SpringApplicationTest to SpringBootTest and
@SpringApplicationContextLoader to @SpringBootContextLoader.

Fixes gh-5562
2016-04-04 22:36:58 -07:00
Andy Wilkinson eb3180d581 Provide test auto-configuration for Spring REST Docs
This commit introduces a new annotation, @AutoConfigureRestDocs,
which can be used to enable auto-configuration of Spring REST Docs.
The auto-configuration removes the need to use Spring REST Docs' JUnit
rule and will automatically configure MockMvc. Combined with the new
auto-configuration for MockMvc it allows a test class to be free of
boilerplate configuration:

@RunWith(SpringRunner.class)
@WebMvcTest
@AutoConfigureRestDocs(outputDir = "target/generated-snippets",
        uriScheme = "https", uriHost = "api.example.com",
        uriPort = 443)
public class ExampleDocumentationTests {

    @Autowired
    private MockMvc mvc;

    @Test
    public void documentIndex() {
        // …
    }

}

For more advanced customization a RestDocsMockMvcConfigurationCustomizer
bean can be used.

If a RestDocumentationResultHandler is found in the context, it will
be passed to the ConfigurableMockMvcBuilder's alwaysDo method as part
of its customization.

Closes gh-5563
2016-04-04 17:19:51 +01:00
Johnny Lim f88c583570 Polish
Closes gh-5553
2016-04-01 17:11:17 +02:00
Phillip Webb c167e4fd0e Rework SpringApplicationTest documentation
Closes gh-5477
2016-03-31 21:37:28 -07:00
Johnny Lim a28dd9d9e6 Polish
Closes gh-5532
2016-03-30 08:43:23 +02:00
Stephane Nicoll a66045fa98 Polish contribution
Closes gh-5521
2016-03-29 15:10:50 +02:00
Stephane Nicoll c752fac5c0 Expose load-on-startup for Jersey
This commit adds a `spring.jersey.filter.load-on-startup` property used to
customize the startup priority of the Jersey servlet.

Closes gh-5100
2016-03-29 14:18:18 +02:00
Stephane Nicoll 87b963b396 Merge branch '1.3.x' 2016-03-29 10:57:02 +02:00
Stephane Nicoll 3363415712 Polish documentation
Add a reference ot underscore notation

Closes gh-5268
2016-03-29 10:56:46 +02:00
Johnny Lim 51bbe5e37a Polish
Closes gh-5508
2016-03-28 11:47:02 +02:00
Phillip Webb c68e5f12ff Formatting 2016-03-25 12:46:52 -07:00
Stephane Nicoll fd437797b6 Polish contribution
This commit polihes the original Neo4j contribution in several areas.

Rather than providing the packages to scan, this commit rearranges the
`EntityScan` and `EntityScanRegistrar` so that the logic can be shared
for other components. If no package is provided, scanning now defaults to
the "auto-configured" package(s) and a `@NodeEntityScan` annotation
allows to override that.

The configuration has also been updated to detect the driver based on the
`uri` property. If the embedded driver is available we use that by
default. If it is not available, we're trying to connect to a Neo4j
server running on localhost. It is possible to disable the embedded mode
or set the `uri` parameter explicitly to deviate from these defaults.

The sample no longer relies on the embedded driver for licensing reason:
rather it expects an instance running on localhost (like other
data-related samples) and gracefully ignore any connection error. A
README has been added in the sample to further explain the available
options;

Closes gh-5458
2016-03-25 11:39:49 +01:00
Michael Hunger 0658cc8aee Add Neo4j support
See gh-5458
2016-03-25 11:26:57 +01:00
Stephane Nicoll e8766f21a5 Fix typo 2016-03-24 14:52:10 +01:00
Phillip Webb 88f3fa4f78 Document test improvements in 1.4
Closes gh-4901
2016-03-23 22:22:23 -07:00
Phillip Webb 7942d9f787 Polish 2016-03-21 22:52:25 -07:00
Stephane Nicoll d8c972c27e Merge branch '1.3.x' 2016-03-21 11:56:21 +01:00
Stephane Nicoll b1b84a358d Fix Artemis embedded mode condition
This commit prevents the Artemis embedded mode to kick-in if the
`EmbeddedJMS` class it not in the classpath. The previous condition would
match if only `artemis-server` was on the classpath while
`artemis-jms-server` is actually required.

Closes gh-5452
2016-03-21 11:55:59 +01:00
Stephane Nicoll fa84b179a8 Allow to customize the Couchbase environment
Closes gh-5403
2016-03-18 09:08:41 +01:00
Stephane Nicoll caf11e4445 Add Couchbase cache support
This commit updates the cache auto-configuration to provide a
`CouchbaseCacheManager` if a `Bucket` has been configured.

The global customizer infrastructure allows to further tune the cache
manager if necessary.

Closes gh-5176
2016-03-18 07:52:56 +01:00
Stephane Nicoll 25f00b9bb8 Polish contribution
Closes gh-5341
2016-03-17 13:25:35 +01:00
Gary Russell 08732fe4c8 Add Retry Config: Template and Listener
Also add requeue rejected to listener config and
timeouts to RabbitTemplate config.

Closes gh-5340
2016-03-17 13:01:33 +01:00
Stephane Nicoll f4bb9e3ba7 Polish doc
Closes gh-5404
2016-03-17 12:53:32 +01:00
Stephane Nicoll e67f2e2983 Separate Couchbase setup from Spring Data
This commit separates the basic setup of Couchbase from Spring Data so
that a `Bucket` and `Cluster` bucket beans are exposed even if Spring
Data is not available.

A basic setup happens if `spring.couchbase.bootstrap-hosts` is specified,
configuring the `default` bucket with no authentication unless specified
otherwise.

If Spring Data is available, those beans are re-used by default to
configure the `CouchbaseTemplate` and other repository-related beans.

Closes gh-5347
2016-03-14 11:11:48 +01:00
Stephane Nicoll d22265b13e Allow to disable debug property
Previously, adding `debug=false` in the environment had no effect as the
mere presence of the property was used to enable the debug mode. This
commit makes sure to also check the value and ignore the property if it
is set to `false`.

The documentation has also been updated to refer to the `trace` property.

Closes gh-5374
2016-03-11 11:27:39 +01:00
Stephane Nicoll 8cb602f2d6 Polish doc
Closes gh-5375
2016-03-11 11:01:29 +01:00
Stephane Nicoll 58e8e10abb Fix typo
Closes gh-5343
2016-03-09 17:06:19 +01:00
Phillip Webb b260c20df0 Support JsonSerializer/JsonDeserializer Beans
Add a `@JsonComponent` annotation that can be used to indicate that a
Bean is a JsonSerializer and/or JsonDeserializer that should be
registered with Jackson.

Support is provide via a new `JsonComponentModule` which is
auto-configured in `JacksonAutoConfiguration`.

Also add `JsonObjectSerializer` and `JsonObjectDeserializer` classes
which provided as a convenient base for serializers that work with
Objects.

Fixes gh-3898
2016-03-08 17:33:00 -08:00
Andy Wilkinson 86d87f6b8a Deprecate support for Velocity
Support for Velocity has been deprecated in Spring Framework 4.3 with
the plan being to remove it in 5.0. This commit deprecates Spring
Boot's support in 1.4, with the plan being to remove it in 2.0.

Closes gh-5276
2016-03-07 13:48:17 +00:00
Andy Wilkinson bbd7840785 Allow LoggingSystem to be disabled
In certain environments, such as Jetty configured with centralized
logging, Spring Boot's logging system can be problematic.

This commit adds support for using the existing LoggingSystem system
property, configured with a value of none, to disable the logging
system and rely on the standard logging configuration mechanism for
whatever logging framework is in use.

Closes gh-3571
2016-03-07 11:16:26 +00:00
Johnny Lim 122270c990 Polish
Closes gh-5345
2016-03-06 09:21:00 +01:00
Johnny Lim a6c83787ef Polish
Closes gh-5318
2016-03-03 08:33:21 +01:00
Stephane Nicoll 813d86e5e0 Auto-configure Rabbit MessageConverter
If a `MessageConverter` bean is available, we now associate it to the
created `RabbitTemplate` and `RabbitListenerContainerFactory`. That way,
registering a custom `MessageConverter` is all that's needed.

The Rabbit auto-configuration is now using the new `ObjectProvider` that
offers a nicer API to detect if a primary candidate is available for
optional collaborators.

Closes gh-5088
2016-02-29 19:32:30 +01:00
Stephane Nicoll d13b9a98c5 Auto-configure JMS MessageConverter
If a `MessageConverter` bean is available, we now associate it to the
created `JmsTemplate` and `JmsListenerContainerFactory`. That way,
registering a custom `MessageConverter` is all that's needed.

The JMS auto-configuration is now using the new `ObjectProvider` that
offers a nicer API to detect if a primary candidate is available for
optional collaborators.

Closes gh-4282
2016-02-29 17:33:34 +01:00
Stephane Nicoll d9f4d6ce91 Allow custom CacheResolver
Previously, if a bean of type `CacheResolver` was present in the context
the whole cache auto-configuration would back off. If said
`CacheResolver` hasn't been defined via the `CachingConfigurer`
infrastructure, the application context would fail with a rather
unpleasant error message.

It can be quite common to define custom `CacheResolver` beans as the cache
annotations allow to defines custom cache resolvers per operation. This
commit makes sure that the cache auto-configuration will back-off only if
the `CacheResolver` is named `cacheResolver`.

Closes gh-5201
2016-02-29 15:48:46 +01:00
Stephane Nicoll 6741f05af1 Polish contribution
Closes gh-4903
2016-02-29 14:07:01 +01:00
Phillip Webb 17c9fc585f Polish 2016-02-25 21:32:09 -08:00
Phillip Webb c93ea54ea3 Merge branch '1.3.x' 2016-02-25 21:26:13 -08:00
Phillip Webb 4fd778fed8 Polish CacheManagerCustomizers 2016-02-25 20:05:16 -08:00
Stephane Nicoll 416b689359 Enable prefix by default on RedisCacheManager
An overhaul of the `RedisCacheManager` is expected in Hopper (to be
consumed by Spring Boot 1.4). One of those changes is to make sure every
key have a decent prefix by default.

This commit enables the use of prefix as it is disabled by default.

Closes gh-5175
2016-02-25 13:51:59 +01:00
Stephane Nicoll 0e43f4204f Merge branch '1.3.x' 2016-02-24 14:09:07 +01:00
Stephane Nicoll 5febd497da Support customization of CacheManager
This commit allows to customize the auto-configured `CacheManager` by
exposing a bean of type `CacheManagerCustomizer`. The implementation may
reference the type of a `CacheManager` to determine in which case it has
to be invoked.

Several implementations can be provided and ordered using the regular
`Ordered` interface and `@Order` annotation.

Closes gh-5039
2016-02-24 14:00:38 +01:00
Andy Wilkinson 36cdc81ef4 Merge branch '1.3.x' 2016-02-24 11:39:10 +00:00
Andy Wilkinson aa17599675 Clarify handling of files specified in spring.config.location
Closes gh-5147
2016-02-24 11:39:02 +00:00
Stephane Nicoll 2da9f6d91c Merge branch '1.3.x' 2016-02-23 14:43:56 +01:00
Stephane Nicoll c4205d04b3 Rework ListenerContainerFactory configurers
Rework commit b726974 to avoid exposing setters that would permit anyone
to change Spring Boot's defaults. Also, since these are configurers of a
specific instance, they should be named accordingly.

Closes gh-5138
2016-02-23 14:43:33 +01:00
Stephane Nicoll 90f0fc6ce3 Harmonize JTA properties
Previously, both Atomikos and Bitronix were bound on the `spring.jta`
namespace which makes very hard to figure out which property belong to
which implementation. Besides, `AtomikosProperties` only exposed public
setter which does not generate any useful meta-data.

This commit moves the external configuration for Atomikos and Bitronix to
`spring.jta.atomikos.properties` and `spring.jta.bitronix.properties`
respectively. It also improves the meta-data support for those two
namespaces.

Closes gh-5165
2016-02-16 16:44:50 +01:00
Stephane Nicoll 81fdc99fb0 Polish doc
See gh-3498
2016-02-16 13:45:48 +01:00
Stephane Nicoll 52950717e0 Polish 2016-02-16 09:34:26 +01:00
Stephane Nicoll da3b49e024 Polish contribution
Closes gh-3499
2016-02-16 09:31:50 +01:00
Stephane Nicoll b205e02e33 Upgrade to Spring Data Hopper M1
Closes gh-5120
2016-02-15 14:57:08 +01:00
Stephane Nicoll 85cc885fd1 Merge branch '1.3.x' 2016-02-12 16:26:41 +01:00
Stephane Nicoll b726974bca Allow to easily customize ListenerContainerFactory
Previously, if one wants to create a custom `JmsListenerContainerFactory`
or `RabbitListenerContainerFactory`, a bunch of code from the auto-
configuration must be duplicated.

This commit introduces two services to configure such factory for JMS
and AMQP with the same sensible defaults that were applied by the
auto-configufrations.

Closes gh-5138
2016-02-12 16:16:44 +01:00