Commit Graph

1355 Commits (d456e1de494fe057fec8eefd6fdad789c3ffb191)

Author SHA1 Message Date
Andy Wilkinson 66b55defa0 Adapt to password encoder changes in Spring Security
Closes gh-10762
7 years ago
Johnny Lim 6168fae720 Remove explicit type arguments
See gh-10494
7 years ago
Stephane Nicoll 59a906bd58 Upgrade Java9 build to AspectJ 1.9.0.RC1 7 years ago
Andy Wilkinson 90ecb29667 Align with spring-security-jwt-jose being renamed to s-s-auth2-jose
Closes gh-10750
7 years ago
Madhura Bhave 80b5da78a1 Fix test failures 7 years ago
Madhura Bhave 8600bd7294 Upgrade to Spring Security 5.0.0.BUILD-SNAPSHOT
Following some changes in the latest snapshot this includes:
- Some updates to oauth2 client auto-config
- Security auto-config no longer relies on GlobalAuthenticationConfigurerAdapter
- Remove reactive security starter

Closes gh-10704
7 years ago
Madhura Bhave d307eba0a3 Add property to configure base-path for web endpoints.
Also, move properties corresponding to management server under
`management.server.*`.

Closes gh-10230
7 years ago
Stephane Nicoll 00142dc70f Fixup version numbers following release 7 years ago
Spring Buildmaster c0f9f64776 Next Development Version 7 years ago
Andy Wilkinson 162a48806e Update custom layout sample so it builds with Java 9
Previously, the custom layout sample did not configure the source
and target for the compiler. This meant that both defaulted to 1.5
which is not supported by Java 9's javac. The oldest support version
is 1.6.

This commit sets the maven.compiler.source and maven.compiler.target
properties to 1.8 (the lowest version support by Boot 2.0) allowing
the sample to build with both Java 8 and Java 9.

See gh-10515
7 years ago
Phillip Webb 748e0779b6 Update copyright year for changed files 7 years ago
Phillip Webb d62d829c19 Polish 7 years ago
Madhura Bhave ab8aa6bb6c Add README for OAuth2 client sample 7 years ago
Phillip Webb 9ff87612f9 Delete sample Gradle builds
Remove the Gradle builds that were provided with some of the sample
applications since they were never directly invoked.

See gh-9316
7 years ago
Phillip Webb 041d8b39d0 Fix Ant builds following Maven updates
Update `spring-boot-sample-ant` so that it works with the CI friendly
Maven POMs.

See gh-9316
7 years ago
Phillip Webb 2855010841 Fix sample POMs
Update sample POMs to follow CI friendly Maven conventions.

See gh-9316
7 years ago
Phillip Webb 9192444c31 Polish 7 years ago
Madhura Bhave 9f1ed197d2 Update sample with placeholders for oauth client 7 years ago
Madhura Bhave dbe1d9608d Add auto-config for spring-security-oauth2-client
Closes gh-10497
7 years ago
Andy Wilkinson 5a13a32f6c Revert "Reinstate testing of Jetty JSP sample on Java 9"
This reverts commit bbca612a57.
StandardJarScanner, which contains the faulty assumption about
URLClassLoader is part of Jasper. Jetty, like Tomcat, uses Jasper for
JSPs so it's also affected.

See gh-10456
7 years ago
jfarcand 9dbc3e25bb Upgrade sample to Atmosphere 2.4.14
Closes gh-10447
7 years ago
Andy Wilkinson bbca612a57 Reinstate testing of Jetty JSP sample on Java 9
See gh-10456
7 years ago
Stephane Nicoll 75dbe5c2de Include java.xml.ws module when running on Java 9
See gh-7226
7 years ago
Stephane Nicoll 5ba2906045 Disable JSP sample tests on Java 9
See gh-10456
7 years ago
Stephane Nicoll eddf27320f Configuring Surefire for samples when running on Java 9
See gh-7226
7 years ago
Stephane Nicoll 4caeed2ac4 Disable cassandra test on Java 9
See gh-10453
7 years ago
Phillip Webb 9e43b99966 Polish 7 years ago
Madhura Bhave 5d05347e61 Add auto-config and starter for reactive security
Closes gh-9925
7 years ago
Madhura Bhave 7093602753 Simplify UserDetailsService creation in samples
Closes gh-10385
7 years ago
Vedran Pavic bb72a4abe1 Add support for Spring WS auto WSDL/XSD exposure
This commit adds support for auto-configuration of Spring WS automatic
WSDL and XSD exposure i.e. registration of `WsdlDefinition` and
`XsdDefinition` beans. The bean registration is triggered by configuring
`spring.webservices.wsdl-locations` property which will search the
provided locations for WSDL/XSD files and register appropriate beans.

See gh-9635
7 years ago
Vedran Pavic a39ccc2f8c Add MongoDB support to Spring Session sample
Closes gh-10374
7 years ago
Andy Wilkinson c3bc32db02 Polish and reinstate usage of FileSystemUtils.deleteRecursively
Closes gh-9942
7 years ago
Andy Wilkinson e9147c2f20 Remove Spring Security OAuth Auto-Configuration
This commit removes auto-configuration support for Spring Security
OAuth, paving the way for the introduction of auto-configuration for
Spring Security 5's new OAuth-related features.

Closes gh-10255
7 years ago
Stephane Nicoll 27f22229e2 Polish "Add actuator endpoint for finding and deleting sessions"
Closes gh-8342
7 years ago
Vedran Pavic cf151b1717 Add actuator endpoint for finding and deleting sessions
See gh-8342
7 years ago
Andy Wilkinson 8ab12d909e Use standard bean validation annotations that are new in 2.0
See gh-9969
7 years ago
Stephane Nicoll efc3188cff Polish "Improve Spring Session sample"
Closes gh-10351
7 years ago
Vedran Pavic 8561929164 Improve Spring Session sample
This commit improves the Spring Session sample by providing multiple
build profiles that make it possible to easily try out different session
stores. By default, JDBC session store backed by an in-memory embedded H2
database is used.

See gh-10351
7 years ago
Andy Wilkinson 0f25dd0ea6 Update Failsafe and Surefire Maven plugins to 2.20.1
Closes gh-9414
7 years ago
Stephane Nicoll 8c0ffa331b Polish
See gh-9969
7 years ago
Stephane Nicoll d89ff8cb28 Polish sample
Closes gh-10330
7 years ago
Jon Schneider c2958c27ab Replace Boot's own metrics with support for Micrometer
Closes gh-9970
7 years ago
Stephane Nicoll e05e04014b Move security.* to spring.security.*
This commit also removes `security.basic.enabled` as this property is
no longer required.

Closes gh-10296
7 years ago
Stephane Nicoll 8010f6ef00 Rationalize JUnit5 dependency management
This commit only provides dependency management for JUnit Jupiter,
excluding experimental and migration support artifacts. It also removes
dependency management for the platform as it is used by IDEs and build
tools). The `junit-platform.version` is still available though to allow
users to configure their plugin with a supported placeholder for the
version.

Also, given that `junit-vintage-engine`'s version does not match the
JUnit 4 version it supports, we will not add dependency management for
it.

Closes gh-10240
7 years ago
Stephane Nicoll eb4a9d87fd Add actuator to jersey sample
Closes gh-10259
7 years ago
Stephane Nicoll b5d8e072f1 Add actuator to webflux sample
Closes gh-10258
7 years ago
Stephane Nicoll 73f4a2e130 Remove unnecessary override 7 years ago
Stephane Nicoll a825e9f493 Polish 7 years ago
Stephane Nicoll 4670cc7795 Relax use of spring.session.store-type
This commit makes the "spring.session.store-type" property optional,
adding an additional check when it is not present that validates only
one supported implementation is available on the classpath.

As Spring Session has been modularized, the chance that multiple
implementations are available on the classpath are lower. When only
one implementation is present, we attempt to auto-configure it. When
more than one implementation is present and no session store is
configured, a NonUniqueSessionRepositoryException is thrown.

Closes gh-9863
7 years ago
Brian Clozel 1669e4bad3 Fixup version numbers following release 7 years ago
Spring Buildmaster 30eb937a83 Next Development Version 7 years ago
Phillip Webb 46dfe38b60 Rework security request matchers
Update the security request matchers so that a bean is no longer needed
when the matcher is used. Matchers can now be build by starting from
the `EndpointRequest` or `StaticResourceRequest` classes. For example:

http.authorizeRequests()
  .requestMatchers(EndpointRequest.to("status", "info")).permitAll()
  .requestMatchers(EndpointRequest.toAnyEndpoint()).hasRole("ACTUATOR")
  .requestMatchers(StaticResourceRequest.toCommonLocations()).permitAll()

Closes gh-7958
7 years ago
Phillip Webb 2e51b48cd9 Refactor actuator package locations
Restructure actuator packages to improve structure. The following
changes have been made:

 - Separate actuator and actuator auto-configuration into different
   modules.
 - Move endpoint code into `spring-boot-actuator`.
 - Move `Endpoint` implementations from a single package into
   technology specific packages.
 - Move `HealthIndicator` implementations from a single package into
   technology specific packages.
 - As much as possible attempt to mirror the `spring-boot` package
   structure and class naming in `spring-boot-actuator` and
   `spring-boot-actuator-autoconfigure`.
 - Move `DataSourceBuilder` and DataSource meta-data support from
   `spring-boot-actuator` to `spring-boot`.

Fixes gh-10261
7 years ago
Phillip Webb 0f99b29b1a Temporarily remove security matchers
Temporarily back out `SpringBootSecurity` to enable easier
package refactoring.

See gh-10261
7 years ago
Phillip Webb ecb8461e8c Manually format security configuration
Update security configuration formatting to follow conventions
recommended in the Spring Security documentation.

See gh-7958
7 years ago
Stephane Nicoll 1dc08fdda2 Polish "Provide dependency management for JUnit Jupiter"
Closes gh-10240
7 years ago
Eddú Meléndez bb4a8cdc0e Provide dependency management for JUnit Jupiter
Spring Framework 5 provides support for JUnit 5. This commit adds
dependency management for JUnit 5 and an upgrade for
spring-boot-sample-junit-jupiter sample.

See gh-10240
7 years ago
Andy Wilkinson ad4ce9cf57 Return objects from trace, audit event, and thread dump endpoints
Closes gh-7648
7 years ago
Andy Wilkinson a6b30a3aab Reflect context hierarchy in beans endpoint’s response structure
Closes gh-10156
7 years ago
Andy Wilkinson ab54801143 Improve structure of response from configprops endpoint
Closes gh-10162
7 years ago
Andy Wilkinson 9242def4c0 Improve structure and JSON serialization of beans endpoint's response
Closes gh-10156
7 years ago
Stephane Nicoll afda0ec129 Default Hibernate DDL auto to none with Flyway/Liquibase
This commit adds a strategy interface to specific if a given DataSource
has its schema managed. The Hibernate auto-configuration uses it to set
it to "none" if a mechanism to initialize the DataSource is
found and "create-drop" otherwise.

Both Flyway and Liquibase implements that strategy interface and
register it in the context accordingly.

Closes gh-9262
7 years ago
Stephane Nicoll b91ceef621 Polish "Polish"
Closes gh-10109
7 years ago
Johnny Lim db76112700 Polish
See gh-10109
7 years ago
Phillip Webb 2c97d3a5e9 Polish 7 years ago
Stephane Nicoll 98455e30dc Rename default endpoint settings to "default"
Closes gh-10098
7 years ago
Madhura Bhave 919dfd3f90 Remove unused properties and constants
Since the autoconfig totally backs off in the presence
of a WebSecurityConfigurerAdapter, there is no need to
order them ahead of/after the one provided by Spring Boot.

See gh-7958
7 years ago
Stephane Nicoll da65158eae Disable Jolokia by default
To be consistent with Actuator web endpoints, Jolokia is now disabled
by default.

Closes gh-10090
7 years ago
Madhura Bhave e08ddbf838 Rework security autoconfiguration
This commit combines security autoconfigurations for
management endpoints and the rest of the application. By default,
if Spring Security is on the classpath, it turns on @EnableWebSecurity.
In the presence of another WebSecurityConfigurerAdapter this backs off
completely. A default AuthenticationManager is also provided with a user
and generated password. This can be turned off by specifying a bean of
type AuthenticationManager, AuthenticationProvider or UserDetailsService.

Closes gh-7958
7 years ago
Stephane Nicoll 08ce7e24d7 Polish 7 years ago
Stephane Nicoll 68fcea7b9a Migrate endpoints.cors to management.endpoints.cors
This commit moves CORS properties out of the endpoints namespace as they
do not refer to a "cors" endpoint but rather to the CORS configuration
of all endpoints.

Closes gh-10053
7 years ago
Andy Wilkinson ee16332745 Update Actuator to use the new endpoint infrastructure
This commit migrates the Actuator onto the new endpoint infrastruture.
In addition to the existing support for accessing the endpoints via
JMX and HTTP using Spring MVC, support for access via HTTP using
Jersey and WebFlux has been added. This includes using a separate
management port where we now spin up an additional, appropriately
configured servlet or reactive web server to expose the management
context on a different HTTP port to the main application.

Closes gh-2921
Closes gh-5389
Closes gh-9796
7 years ago
Andy Wilkinson 0aa39d0279 Improve the package structure of spring-boot-actuator module
Closes gh-7545
7 years ago
Andy Wilkinson 5aae23d8ea Update OAuth Actuator sample tests to adapt to sensitivity removal
See gh-9924
7 years ago
Andy Wilkinson 52536dc291 Update Actuator UI sample test to adapt to sensitivity removal
See gh-9924
7 years ago
Andy Wilkinson bb55f49396 Remove concept of sensitivity from Actuator's endpoints
Closes gh-9924
7 years ago
Andy Wilkinson 847f6d1b2c Update test in Actuator sample to adapt to changes in env response
See gh-9864
7 years ago
Andy Wilkinson 4f76a560b8 Fix the Actuator sample 7 years ago
Andy Wilkinson 9f75da9a8f Simplify the Actuator's hypermedia support
This commit replaces the Acuator's support for hypermedia with a
single endpoint that returns HAL-formatted links to all of the
available endpoints. This is done without requiring Spring HATEOAS
to be on the classpath in a similar manner to the existing
CloudFoundry discovery endpoint.

Closes gh-9901
7 years ago
Andy Wilkinson fb3d79c750 Drop support for self-hosted Actuator docs
Closes gh-9899
7 years ago
Andy Wilkinson 6f864c6210 Fix up version numbers following release 7 years ago
Spring Buildmaster 17a5bb0be4 Next development version 7 years ago
Stephane Nicoll 75fc0c38c8 Merge branch '1.5.x' 7 years ago
Johnny Lim fe1eb8b5f3 Polish
See gh-9855
7 years ago
Andy Wilkinson 39b4270b7e Fix up version numbers following release 7 years ago
Spring Buildmaster 41c5c0e7c9 Next development version 7 years ago
Stephane Nicoll dbce7d8935 Polish "Add JUnit Jupiter sample application"
Closes gh-8048
7 years ago
Eddú Meléndez f1664db85e Add JUnit Jupiter sample application
See gh-8048
7 years ago
Phillip Webb 9db72450da Merge branch '1.5.x' 7 years ago
Phillip Webb 68910f2b8f Polish 7 years ago
Stephane Nicoll e8566c8764 Merge branch '1.5.x' 7 years ago
Raja Kolli 931eca188e Fix JOOQ sample's compiler configuration
Closes gh-9672
7 years ago
Phillip Webb a57e6495dd Migrate from FileSystemUtils.deleteRecursively
Update test to migrate away from the now deprecated FileSystemUtils.
7 years ago
Madhura Bhave ecaa6340e2 Update path in actuator sample tests 7 years ago
Madhura Bhave b58923a42d Merge branch '1.5.x' 7 years ago
Madhura Bhave 0f8a819af9 Enable cors in default management security config
Fixes gh-9548
7 years ago
Johnny Lim 360e3a492c Polish
closes gh-9729
7 years ago
Phillip Webb 8e3baf3130 Polish 7 years ago
Stephane Nicoll fa71051ec6 Polish "Upgrade to Infinispan 9.0.3.Final"
Closes gh-9688
7 years ago
Andy Wilkinson f26f8176b6 Start building against Spring Session 2.0 snapshots
See gh-9541
8 years ago
Eddú Meléndez b1f96a4641 Improve sample to use fragment expression by thymeleaf 3
Avoid repeated title text making use of capabilities in thymeleaf 3.

Closes gh-9561
8 years ago
Andy Wilkinson 991314c63d Merge branch '1.5.x' 8 years ago
Andy Wilkinson 59122358d3 Clean up and format code 8 years ago
Andy Wilkinson 4a030d5a7a Drop support for auto-configuring an embedded Elasticsearch node
Elastic have announced [1] that embedded Elasticsearch is no longer
supported. This commit brings us into line with that announcement by
removing the auto-configuration that would create an Elasticsearch
Node and NodeClient.

To use the Elasticsearch auto-configuration, a user must now provide
the address of one or more cluster nodes
(via the spring.elastisearch.cluster-nodes property) which will then
be used to create a TransportClient.

See gh-9374

[1] https://www.elastic.co/blog/elasticsearch-the-server
8 years ago
Andy Wilkinson f7e9ec5f42 Minimise our usage of SocketUtils.findAvailableTcpPort
Closes gh-9382
8 years ago
Stephane Nicoll aa083996f9 Fixup version numbers following release 8 years ago
Spring Buildmaster 05d4d0281c Next Development Version 8 years ago
Andy Wilkinson f4c9ab78b2 Fix WebFlux sample's reactor-test dependency
See gh-9427
8 years ago
Stephane Nicoll 040c12bc85 Merge branch '1.5.x' 8 years ago
Stephane Nicoll fc38c1ba4d Improve cache sample
Clarify the cache sample and in particular that Infinispan does not
bootstrap with a default configuration file. Hence the custom
`infinispan.xml` configuration is enabled by default if Infinispan is
available on the classpath.

See gh-9417
8 years ago
Stephane Nicoll 7f420d1268 Polish contribution
Closes gh-9411
8 years ago
Vedran Pavic db060c847d Ensure `QuartzDatabaseInitializer` is initialized before `Scheduler`
If the auto-configured `Scheduler` instance backed by JDBC job store is
used as a dependency in an application component, the initialization of
`Scheduler` will be triggered before `QuartzDatabaseInitializer`. This
will result in failure due to schema not being prepared in time for
`Scheduler` to populate job details.

This commit ensures `QuartzDatabaseInitializer` is initialized before the
auto-configured `Scheduler` by introducing a dependency between the two.

See gh-9411
8 years ago
Phillip Webb 2c7dd9f519 Polish 8 years ago
Stephane Nicoll 90498a0b2f Fix broken build 8 years ago
Stephane Nicoll 59a15b259c Polish "Add Quartz Scheduler support"
Closes gh-4299
8 years ago
Vedran Pavic 9e23206c31 Add Quartz Scheduler support
See gh-4299
8 years ago
Madhura Bhave d745b69630 Replace usages of EnvironmentTestUtils 8 years ago
Brian Clozel fed8c8a681 Adapt WebFlux.fn auto-config to SPR-15536
Since SPR-15536, WebFlux.fn is now configured with `@EnableWebFlux`,
along the annotated controllers. Both `RouterFunction` and Controller
instances can now live within the same application and they share
the same web infrastructure.

This commit removes the custom auto-configuration for `RouterFunction`
and relies on `@EnableWebFlux` for that.

Closes gh-9165
8 years ago
Mark Paluch 7e8e2c486e Adapt to relocated packages in Spring Data Cassandra
See gh-9291
8 years ago
Andy Wilkinson d5438c299c Polish "Use try-with-resources to close resources automatically"
- Apply code formatting
- Use try-with-resources in many other places that were missed in the
  pull request

Closes gh-8045
8 years ago
Stephane Nicoll d0670d5b95 Fix reference to actuator endpoints
Closes gh-9247
8 years ago
Phillip Webb 889d43ddc4 Refine SpringApplication source types
Update `SpringApplication` so that the `run` methods and constructors
now require `Class<?>` arguments, rather than `Objects`. String based
sources can still be loaded, but must now be set on the `getSources()`
collections. `Package` and `Resource` types are no longer directly
supported.

This change should help IDEs offer better content assist, and will
help integrations with alternative languages such as Ceylon.

Users currently passing in Class references or using the
`spring.main.sources` property should not be affected by this change. If
an XML resource is being used, some refactoring may be required (see the
changes to `SampleSpringXmlApplication` in this commit).

Fixes gh-9170
8 years ago
Phillip Webb 302f038e84 Polish 8 years ago
Stephane Nicoll 2e94fd4434 Remove support for Spring Loaded
Closes gh-7978
8 years ago
Madhura Bhave dc7b3f6d6e Update samples to use new generator mappings
Closes gh-7612
8 years ago
Andy Wilkinson a3f3740725 Remove Tomcat 8.0-based SSL sample
We now require Tomcat 8.5
8 years ago
Andy Wilkinson 771343e31b Update OAuth2 sample following breaking API change in Spring Security
See gh-8714 and 9480e09c21
8 years ago
Andy Wilkinson 822b473cbe Update samples following API changes in Spring Data snapshots
findOne is now findById
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
Madhura Bhave 829ab59757 Use new configuration properties in samples
Update `spring-boot-samples` to use the new configuration properties
support.

See gh-9000
8 years ago
Phillip Webb 45dd9f7144 Polish 8 years ago
Madhura Bhave bc1ee76b55 Change default for new_generator_mappings to true
Closes gh-7612
8 years ago
Phillip Webb 06558675bb Polish 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
Stephane Nicoll 9327b58304 Fixup version numbers following release 8 years ago
Spring Buildmaster 9768b0a8c2 Next Development Version 8 years ago
Phillip Webb 700f0ea93c Fix WebClientTest calls
Update calls to WebClientTest following upstream changes.
8 years ago
Madhura Bhave bcd79dd992 Move all actuators under `/application`
Context path can be configured via `management.context-path`.

Closes gh-6886
8 years ago
Stephane Nicoll 42c1eb894e Merge branch '1.5.x' 8 years ago
Stephane Nicoll 8c21e16cf1 Add reference to Infinispan starter
Closes gh-8592
8 years ago
Phillip Webb c4cba6b0ea Merge branch '1.5.x' 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
Madhura Bhave 971057705d Merge branch '1.5.x' 8 years ago
Madhura Bhave 535451f9e5 Merge branch '1.4.x' into 1.5.x 8 years ago
Madhura Bhave b2f0ebfcb8 Prevent empty json for parameters in trace endpoint
Fixes gh-8883
8 years ago
Stephane Nicoll 2d169d526a Merge branch '1.5.x' 8 years ago
Stephane Nicoll fffb53ccf5 Fix neo4j embedded documentation
The neo4j embedded driver no longer embeds the neo4j kernel and users are
expected to add that dependency manually. We don't provide dependency
management for any of them so this commit updates the documentation to
refers to the official documentation.

Closes gh-8567
8 years ago