You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
spring-boot/spring-boot-samples
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
..
spring-boot-sample-activemq Next development version 7 years ago
spring-boot-sample-actuator Refactor actuator package locations 7 years ago
spring-boot-sample-actuator-custom-security Rework security request matchers 7 years ago
spring-boot-sample-actuator-log4j2 Polish 7 years ago
spring-boot-sample-actuator-noweb Refactor actuator package locations 7 years ago
spring-boot-sample-actuator-ui Refactor actuator package locations 7 years ago
spring-boot-sample-amqp Next development version 7 years ago
spring-boot-sample-ant Fix up version numbers following release 7 years ago
spring-boot-sample-aop Next development version 7 years ago
spring-boot-sample-atmosphere Next development version 7 years ago
spring-boot-sample-batch Next development version 7 years ago
spring-boot-sample-cache Merge branch '1.5.x' 7 years ago
spring-boot-sample-custom-layout Next development version 7 years ago
spring-boot-sample-data-cassandra Next development version 7 years ago
spring-boot-sample-data-couchbase Next development version 7 years ago
spring-boot-sample-data-elasticsearch Next development version 7 years ago
spring-boot-sample-data-jpa Next development version 7 years ago
spring-boot-sample-data-ldap Next development version 7 years ago
spring-boot-sample-data-mongodb Next development version 7 years ago
spring-boot-sample-data-neo4j Next development version 7 years ago
spring-boot-sample-data-redis Next development version 7 years ago
spring-boot-sample-data-rest Next development version 7 years ago
spring-boot-sample-data-solr Next development version 7 years ago
spring-boot-sample-devtools Next development version 7 years ago
spring-boot-sample-flyway Next development version 7 years ago
spring-boot-sample-hateoas Next development version 7 years ago
spring-boot-sample-integration Next development version 7 years ago
spring-boot-sample-jersey Next development version 7 years ago
spring-boot-sample-jersey1 Next development version 7 years ago
spring-boot-sample-jetty Next development version 7 years ago
spring-boot-sample-jetty-jsp Next development version 7 years ago
spring-boot-sample-jetty-ssl Next development version 7 years ago
spring-boot-sample-jooq Next development version 7 years ago
spring-boot-sample-jpa Next development version 7 years ago
spring-boot-sample-jta-atomikos Next development version 7 years ago
spring-boot-sample-jta-bitronix Next development version 7 years ago
spring-boot-sample-jta-jndi Next development version 7 years ago
spring-boot-sample-jta-narayana Next development version 7 years ago
spring-boot-sample-junit-jupiter Polish "Provide dependency management for JUnit Jupiter" 7 years ago
spring-boot-sample-liquibase Default Hibernate DDL auto to none with Flyway/Liquibase 7 years ago
spring-boot-sample-logback Fix up version numbers following release 7 years ago
spring-boot-sample-metrics-dropwizard Next development version 7 years ago
spring-boot-sample-metrics-opentsdb Improve the package structure of spring-boot-actuator module 7 years ago
spring-boot-sample-metrics-redis Refactor actuator package locations 7 years ago
spring-boot-sample-parent-context Next development version 7 years ago
spring-boot-sample-profile Fix up version numbers following release 7 years ago
spring-boot-sample-property-validation Next development version 7 years ago
spring-boot-sample-quartz Merge branch '1.5.x' 8 years ago
spring-boot-sample-secure Polish 7 years ago
spring-boot-sample-secure-oauth2 Polish 7 years ago
spring-boot-sample-secure-oauth2-actuator Rework security request matchers 7 years ago
spring-boot-sample-secure-oauth2-resource Next development version 7 years ago
spring-boot-sample-servlet Polish 7 years ago
spring-boot-sample-session-redis Next development version 7 years ago
spring-boot-sample-simple Fix up version numbers following release 7 years ago
spring-boot-sample-test Next development version 7 years ago
spring-boot-sample-test-nomockito Next development version 7 years ago
spring-boot-sample-testng Next development version 7 years ago
spring-boot-sample-tomcat Next development version 7 years ago
spring-boot-sample-tomcat-jsp Next development version 7 years ago
spring-boot-sample-tomcat-multi-connectors Next development version 7 years ago
spring-boot-sample-tomcat-ssl Next development version 7 years ago
spring-boot-sample-traditional Next development version 7 years ago
spring-boot-sample-undertow Next development version 7 years ago
spring-boot-sample-undertow-ssl Next development version 7 years ago
spring-boot-sample-war Next development version 7 years ago
spring-boot-sample-web-freemarker Next development version 7 years ago
spring-boot-sample-web-groovy-templates Polish "Polish" 7 years ago
spring-boot-sample-web-jsp Next development version 7 years ago
spring-boot-sample-web-method-security Rework security request matchers 7 years ago
spring-boot-sample-web-mustache Next development version 7 years ago
spring-boot-sample-web-secure Rework security request matchers 7 years ago
spring-boot-sample-web-secure-custom Rework security autoconfiguration 7 years ago
spring-boot-sample-web-secure-github Next development version 7 years ago
spring-boot-sample-web-secure-jdbc Rework security autoconfiguration 7 years ago
spring-boot-sample-web-static Fix up version numbers following release 7 years ago
spring-boot-sample-web-ui Polish "Polish" 7 years ago
spring-boot-sample-webflux Fix WebFlux sample's reactor-test dependency 8 years ago
spring-boot-sample-webservices Next development version 7 years ago
spring-boot-sample-websocket-jetty Next development version 7 years ago
spring-boot-sample-websocket-tomcat Next development version 7 years ago
spring-boot-sample-websocket-undertow Next development version 7 years ago
spring-boot-sample-xml Next development version 7 years ago
README.adoc Simplify the Actuator's hypermedia support 7 years ago
pom.xml Rework security autoconfiguration 7 years ago

README.adoc

= Spring Boot Samples

The following sample applications are provided:

|===
| Sample | Description

| link:spring-boot-sample-activemq[spring-boot-sample-activemq]
| JMS consumer and producer using Apache ActiveMQ

| link:spring-boot-sample-actuator[spring-boot-sample-actuator]
| REST service with production-ready features

| link:spring-boot-sample-actuator-log4j2[spring-boot-sample-actuator-log4j2]
| Production-ready features using log4j 2 for logging (instead of logback)

| link:spring-boot-sample-actuator-noweb[spring-boot-sample-actuator-noweb]
| Non-web application with production-ready features

| link:spring-boot-sample-actuator-ui[spring-boot-sample-actuator-ui]
| Web UI example with production-ready features

| link:spring-boot-sample-amqp[spring-boot-sample-amqp]
| Message-oriented application using AMQP and RabbitMQ

| link:spring-boot-sample-ant[spring-boot-sample-ant]
| Executable JAR build using Ant

| link:spring-boot-sample-aop[spring-boot-sample-aop]
| Demonstrates explicit usage of Spring AOP

| link:spring-boot-sample-atmosphere[spring-boot-sample-atmosphere]
| Chat service built using Atmosphere

| link:spring-boot-sample-batch[spring-boot-sample-batch]
| Define and run a Batch job in a few lines of code

| link:spring-boot-sample-cache[spring-boot-sample-cache]
| Web application that uses Spring's cache abstraction

| link:spring-boot-sample-custom-layout[spring-boot-sample-custom-layout]
| Creates custom Jar Layout

| link:spring-boot-sample-data-cassandra[spring-boot-sample-data-cassandra]
| Stores data using Spring Data Cassandra

| link:spring-boot-sample-data-couchbase[spring-boot-sample-data-couchbase]
| Stores data using Spring Data Couchbase

| link:spring-boot-sample-data-elasticsearch[spring-boot-sample-data-elasticsearch]
| Stores data using Spring Data Elasticsearch

| link:spring-boot-sample-data-jpa[spring-boot-sample-data-jpa]
| Stores data using Spring Data JPA with Hibernate

| link:spring-boot-sample-data-ldap[spring-boot-sample-data-ldap]
| Stores data using Spring Data LDAP

| link:spring-boot-sample-data-mongodb[spring-boot-sample-data-mongodb]
| Stores data using Spring Data MongoDB

| link:spring-boot-sample-data-neo4j[spring-boot-sample-data-neo4j]
| Stores data using Spring Data Neo4j

| link:spring-boot-sample-data-redis[spring-boot-sample-data-redis]
| Stores data using Spring Data Redis

| link:spring-boot-sample-data-rest[spring-boot-sample-data-rest]
| RESTful service built using Spring Data REST

| link:spring-boot-sample-data-solr[spring-boot-sample-data-solr]
| Stores data using Spring Data Solr

| link:spring-boot-sample-devtools[spring-boot-sample-devtools]
| Using DevTools for rapid application development

| link:spring-boot-sample-flyway[spring-boot-sample-flyway]
| Database migrations with Flyway

| link:spring-boot-sample-hateoas[spring-boot-sample-hateoas]
| RESTful API built using Spring Hateoas

| link:spring-boot-sample-integration[spring-boot-sample-integration]
| Integration application built using Spring Integration and its Java DSL

| link:spring-boot-sample-jersey[spring-boot-sample-jersey]
| RESTful service built using Jersey 2

| link:spring-boot-sample-jersey1[spring-boot-sample-jersey1]
| RESTful service built using Jersey

| link:spring-boot-sample-jetty[spring-boot-sample-jetty]
| Embedded Jetty

| link:spring-boot-sample-jetty-ssl[spring-boot-sample-jetty-ssl]
| Embedded Jetty configured to use SSL

| link:spring-boot-sample-jetty-jsp[spring-boot-sample-jetty-jsp]
| Web application that uses JSP templates with Jetty

| link:spring-boot-sample-jooq[spring-boot-sample-jooq]
| Stores data using jOOQ

| link:spring-boot-sample-jpa[spring-boot-sample-jpa]
| Uses plain JPA (Hibernate)

| link:spring-boot-sample-jta-atomikos[spring-boot-sample-jta-atomikos]
| JTA transactions with Atomikos

| link:spring-boot-sample-jta-bitronix[spring-boot-sample-jta-bitronix]
| JTA transactions with Bitronix

| link:spring-boot-sample-jta-jndi[spring-boot-sample-jta-jndi]
| JTA transactions using a `TransactionManager` and `DataSource` from JNDI

| link:spring-boot-sample-jta-narayana[spring-boot-sample-jta-narayana]
| JTA transactions with Narayana

| link:spring-boot-sample-junit-jupiter[spring-boot-sample-junit-jupiter]
| Demonstrates JUnit Jupiter-based testing

| link:spring-boot-sample-liquibase[spring-boot-sample-liquibase]
| Database migrations with Liquibase

| link:spring-boot-sample-logback[spring-boot-sample-logback]
| Demonstrates Spring Boot's custom Logback functionality configured in logback-spring.xml

| link:spring-boot-sample-metrics-dropwizard[spring-boot-sample-metrics-dropwizard]
| Demonstrates support for Dropwizard metrics

| link:spring-boot-sample-metrics-opentsdb[spring-boot-sample-metrics-opentsdb]
| Exports metrics to OpenTSDB

| link:spring-boot-sample-metrics-redis[spring-boot-sample-metrics-redis]
| Exports metrics to Redis

| link:spring-boot-sample-parent-context[spring-boot-sample-parent-context]
| Application that uses an `ApplicationContext` with a parent

| link:spring-boot-sample-profile[spring-boot-sample-profile]
| Demonstrates some of Spring Framework's `@Profile` capabilities

| link:spring-boot-sample-property-validation[spring-boot-sample-property-validation]
| Demonstrates the usage of `@ConfigurationProperties` with a Spring `Validator`

| link:spring-boot-sample-secure[spring-boot-sample-secure]
| Non-web application that uses Spring Security

| link:spring-boot-sample-secure-oauth2-actuator[spring-boot-sample-secure-oauth2-actuator]
| RESTful service secured using OAuth2 and Actuator

| link:spring-boot-sample-secure-oauth2[spring-boot-sample-secure-oauth2]
| RESTful service secured using OAuth2

| link:spring-boot-sample-secure-oauth2-resource[spring-boot-sample-secure-oauth2-resource]
| OAuth2 resource server

| link:spring-boot-sample-servlet[spring-boot-sample-servlet]
| Web application with a "raw" `Servlet` returning plain text content

| link:spring-boot-sample-session-redis[spring-boot-sample-session-redis]
| Web Application that uses Spring Session to store session data in Redis

| link:spring-boot-sample-simple[spring-boot-sample-simple]
| Simple command line application

| link:spring-boot-sample-test[spring-boot-sample-test]
| Demonstrates Spring Boot's testing capabilities

| link:spring-boot-sample-testng[spring-boot-sample-testng]
| Demonstrates TestNG-based testing

| link:spring-boot-sample-tomcat[spring-boot-sample-tomcat]
| Embedded Tomcat

| link:spring-boot-sample-tomcat-jsp[spring-boot-sample-tomcat-jsp]
| Web application that uses JSP templates with Tomcat

| link:spring-boot-sample-tomcat-multi-connectors[spring-boot-sample-tomcat-multi-connectors]
| Web application that uses Tomcat configured with multiple connectors

| link:spring-boot-sample-tomcat-ssl[spring-boot-sample-tomcat-ssl]
| Web application that uses Tomcat configured with SSL

| link:spring-boot-sample-traditional[spring-boot-sample-traditional]
| Traditional WAR packaging  (but also executable using `java -jar`)

| link:spring-boot-sample-undertow[spring-boot-sample-undertow]
| Embedded Undertow

| link:spring-boot-sample-undertow-ssl[spring-boot-sample-undertow-ssl]
| Embedded Undertow configured to use SSL

| link:spring-boot-sample-war[spring-boot-sample-war]
| Web application packaged as a war file

| link:spring-boot-sample-web-freemarker[spring-boot-sample-web-freemarker]
| Web application that uses FreeMarker templates

| link:spring-boot-sample-web-groovy-templates[spring-boot-sample-web-groovy-templates]
| Web application that uses Groovy templates

| link:spring-boot-sample-web-jsp[spring-boot-sample-web-jsp]
| Web application that uses JSP templates

| link:spring-boot-sample-web-method-security[spring-boot-sample-web-method-security]
| Web application with Security configuration enabling global method security

| link:spring-boot-sample-web-mustache[spring-boot-sample-web-mustache]
| Web application that uses Mustache views

| link:spring-boot-sample-web-secure[spring-boot-sample-web-secure]
| Web application with typical Security configuration enabling a login form

| link:spring-boot-sample-web-secure-custom[spring-boot-sample-web-secure-custom]
| Web application with custom Spring Security configuration

| link:spring-boot-sample-web-secure-github[spring-boot-sample-web-secure-github]
| Web application with Spring Security configured to authenticate with GitHub using OAuth2

| link:spring-boot-sample-web-secure-jdbc[spring-boot-sample-web-secure-jdbc]
| Web application with Spring Security configured to use JDBC authentication

| link:spring-boot-sample-web-static[spring-boot-sample-web-static]
| Web application that serves static files

| link:spring-boot-sample-web-ui[spring-boot-sample-web-ui]
| Web application with a basic UI built using Bootstrap and JQuery

| link:spring-boot-sample-webservices[spring-boot-sample-webservices]
| Simple contract-first SOAP web service with Spring Web Services

| link:spring-boot-sample-websocket-jetty[spring-boot-sample-websocket-jetty]
| WebSocket application that uses Jetty

| link:spring-boot-sample-websocket-tomcat[spring-boot-sample-websocket-tomcat]
| WebSocket application that uses Tomcat

| link:spring-boot-sample-websocket-undertow[spring-boot-sample-websocket-undertow]
| WebSocket application that uses Undertow

| link:spring-boot-sample-xml[spring-boot-sample-xml]
| Example show how Spring Boot can be mixed with traditional XML configuration (we
  generally recommend using Java `@Configuration` whenever possible