spring-boot/spring-boot-samples
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
2017-05-15 20:35:29 -07:00
..
spring-boot-sample-activemq Next Development Version 2017-03-03 16:18:26 +00:00
spring-boot-sample-actuator Polish 2017-04-25 09:45:14 -07:00
spring-boot-sample-actuator-log4j2 Polish 2017-04-25 09:45:14 -07:00
spring-boot-sample-actuator-noweb Next Development Version 2017-03-03 16:18:26 +00:00
spring-boot-sample-actuator-ui Polish 2017-04-25 09:45:14 -07:00
spring-boot-sample-amqp Next Development Version 2017-03-03 16:18:26 +00:00
spring-boot-sample-ant Fixup version numbers following release 2017-03-03 17:34:05 +01:00
spring-boot-sample-aop Next Development Version 2017-03-03 16:18:26 +00:00
spring-boot-sample-atmosphere Replace usage of WebMvcConfigurerAdapter 2017-04-24 15:31:39 -07:00
spring-boot-sample-batch Next Development Version 2017-03-03 16:18:26 +00:00
spring-boot-sample-cache Merge branch '1.5.x' 2017-04-14 13:58:03 +02:00
spring-boot-sample-custom-layout Polish 2017-04-25 09:45:14 -07:00
spring-boot-sample-data-cassandra Next Development Version 2017-03-03 16:18:26 +00:00
spring-boot-sample-data-couchbase Update samples following API changes in Spring Data snapshots 2017-05-04 10:27:51 +01:00
spring-boot-sample-data-elasticsearch Next Development Version 2017-03-03 16:18:26 +00:00
spring-boot-sample-data-jpa Polish 2017-05-15 20:35:29 -07:00
spring-boot-sample-data-ldap Merge branch '1.5.x' 2017-01-17 09:57:53 +01:00
spring-boot-sample-data-mongodb Next Development Version 2017-03-03 16:18:26 +00:00
spring-boot-sample-data-neo4j Merge branch '1.5.x' 2017-04-07 10:05:40 +02:00
spring-boot-sample-data-redis Merge branch '1.5.x' 2016-12-30 12:17:28 -08:00
spring-boot-sample-data-rest Polish 2017-05-15 20:35:29 -07:00
spring-boot-sample-data-solr Merge branch '1.5.x' 2016-12-30 12:17:28 -08:00
spring-boot-sample-devtools Next Development Version 2017-03-03 16:18:26 +00:00
spring-boot-sample-flyway Polish 2017-05-15 20:35:29 -07:00
spring-boot-sample-hateoas Cleanup and format code 2017-03-06 17:08:09 -08:00
spring-boot-sample-hypermedia Polish 2017-04-25 09:45:14 -07:00
spring-boot-sample-hypermedia-gson Polish 2017-04-25 09:45:14 -07:00
spring-boot-sample-hypermedia-jpa Next Development Version 2017-03-03 16:18:26 +00:00
spring-boot-sample-hypermedia-ui Polish 2017-04-25 09:45:14 -07:00
spring-boot-sample-hypermedia-ui-secure Move all actuators under /application 2017-04-14 15:15:44 -07:00
spring-boot-sample-integration Merge branch '1.5.x' 2017-02-27 20:43:18 -08:00
spring-boot-sample-jersey Relocate org.springframework.boot.web.support 2017-03-14 22:03:03 -07:00
spring-boot-sample-jersey1 Restructure embedded web server packages 2017-03-12 21:08:25 -07:00
spring-boot-sample-jetty Cleanup and format code 2017-03-06 17:08:09 -08:00
spring-boot-sample-jetty-jsp Relocate org.springframework.boot.web.support 2017-03-14 22:03:03 -07:00
spring-boot-sample-jetty-ssl Restructure embedded web server packages 2017-03-12 21:08:25 -07:00
spring-boot-sample-jooq Cleanup and format code 2017-03-06 17:08:09 -08:00
spring-boot-sample-jpa Polish 2017-05-15 20:35:29 -07:00
spring-boot-sample-jta-atomikos Next Development Version 2017-03-03 16:18:26 +00:00
spring-boot-sample-jta-bitronix Next Development Version 2017-03-03 16:18:26 +00:00
spring-boot-sample-jta-jndi Relocate org.springframework.boot.web.support 2017-03-14 22:03:03 -07:00
spring-boot-sample-jta-narayana Next Development Version 2017-03-03 16:18:26 +00:00
spring-boot-sample-liquibase Next Development Version 2017-03-03 16:18:26 +00:00
spring-boot-sample-logback Update samples with Gradle configuration to align with new plugin 2017-04-04 15:33:27 +01:00
spring-boot-sample-metrics-dropwizard Next Development Version 2017-03-03 16:18:26 +00:00
spring-boot-sample-metrics-opentsdb Next Development Version 2017-03-03 16:18:26 +00:00
spring-boot-sample-metrics-redis Next Development Version 2017-03-03 16:18:26 +00:00
spring-boot-sample-parent-context Merge branch '1.5.x' 2017-01-24 10:53:29 +00:00
spring-boot-sample-profile Update samples with Gradle configuration to align with new plugin 2017-04-04 15:33:27 +01:00
spring-boot-sample-property-validation Use new configuration properties in samples 2017-04-27 13:59:25 -07:00
spring-boot-sample-secure Next Development Version 2017-03-03 16:18:26 +00:00
spring-boot-sample-secure-oauth2 Update OAuth2 sample following breaking API change in Spring Security 2017-05-10 09:25:44 +01:00
spring-boot-sample-secure-oauth2-actuator Move all actuators under /application 2017-04-14 15:15:44 -07:00
spring-boot-sample-secure-oauth2-resource Update samples following API changes in Spring Data snapshots 2017-05-04 10:27:51 +01:00
spring-boot-sample-servlet Relocate org.springframework.boot.web.support 2017-03-14 22:03:03 -07:00
spring-boot-sample-session-redis Restructure embedded web server packages 2017-03-12 21:08:25 -07:00
spring-boot-sample-simple Update samples with Gradle configuration to align with new plugin 2017-04-04 15:33:27 +01:00
spring-boot-sample-test Update copyright header for edited files 2017-03-06 15:04:07 -08:00
spring-boot-sample-test-nomockito Next Development Version 2017-03-03 16:18:26 +00:00
spring-boot-sample-testng Next Development Version 2017-03-03 16:18:26 +00:00
spring-boot-sample-tomcat Restructure web auto-configuration 2017-03-14 22:06:28 -07:00
spring-boot-sample-tomcat-jsp Relocate org.springframework.boot.web.support 2017-03-14 22:03:03 -07:00
spring-boot-sample-tomcat-multi-connectors Restructure embedded web server packages 2017-03-12 21:08:25 -07:00
spring-boot-sample-tomcat-ssl Merge branch '1.5.x' 2016-12-30 12:17:28 -08:00
spring-boot-sample-traditional Polish 2017-04-25 09:45:14 -07:00
spring-boot-sample-undertow Cleanup and format code 2017-03-06 17:08:09 -08:00
spring-boot-sample-undertow-ssl Next Development Version 2017-03-03 16:18:26 +00:00
spring-boot-sample-war Relocate org.springframework.boot.web.support 2017-03-14 22:03:03 -07:00
spring-boot-sample-web-freemarker Cleanup and format code 2017-03-06 17:08:09 -08:00
spring-boot-sample-web-groovy-templates Restructure embedded web server packages 2017-03-12 21:08:25 -07:00
spring-boot-sample-web-jsp Relocate org.springframework.boot.web.support 2017-03-14 22:03:03 -07:00
spring-boot-sample-web-method-security Add Thymeleaf auto-configuration for WebFlux 2017-04-28 14:11:45 +02:00
spring-boot-sample-web-mustache Change default file extension for Mustache templates 2017-04-28 14:12:26 +02:00
spring-boot-sample-web-secure Add Thymeleaf auto-configuration for WebFlux 2017-04-28 14:11:45 +02:00
spring-boot-sample-web-secure-custom Add Thymeleaf auto-configuration for WebFlux 2017-04-28 14:11:45 +02:00
spring-boot-sample-web-secure-github Polish 2017-04-25 09:45:14 -07:00
spring-boot-sample-web-secure-jdbc Add Thymeleaf auto-configuration for WebFlux 2017-04-28 14:11:45 +02:00
spring-boot-sample-web-static Update samples with Gradle configuration to align with new plugin 2017-04-04 15:33:27 +01:00
spring-boot-sample-web-ui Remove support for Spring Loaded 2017-05-15 14:18:06 +03:00
spring-boot-sample-webflux Fix WebClientTest calls 2017-04-14 16:26:01 -07:00
spring-boot-sample-webservices Restructure embedded web server packages 2017-03-12 21:08:25 -07:00
spring-boot-sample-websocket-jetty Relocate org.springframework.boot.web.support 2017-03-14 22:03:03 -07:00
spring-boot-sample-websocket-tomcat Relocate org.springframework.boot.web.support 2017-03-14 22:03:03 -07:00
spring-boot-sample-websocket-undertow Relocate org.springframework.boot.web.support 2017-03-14 22:03:03 -07:00
spring-boot-sample-xml Refine SpringApplication source types 2017-05-15 20:35:29 -07:00
pom.xml Remove Tomcat 8.0-based SSL sample 2017-05-12 17:55:19 +01:00
README.adoc Remove Tomcat 8.0-based SSL sample 2017-05-12 17:55:19 +01:00

= 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-hypermedia[spring-boot-sample-hypermedia]
| Demonstrates Actuator's hypermedia support, including HAL Browser

| link:spring-boot-sample-hypermedia-gson[spring-boot-sample-hypermedia-gson]
| Demonstrates Actuator's hypermedia support using GSON in place of Jackson

| link:spring-boot-sample-hypermedia-jpa[spring-boot-sample-hypermedia-jpa]
| Demonstrates Actuator's hypermedia support alongside Spring Data JPA and Spring Data
  REST

| link:spring-boot-sample-hypermedia-ui-secure[spring-boot-sample-hypermedia-ui-secure]
| Demonstrates Actuator's hypermedia support alongside a static secure web UI

| link:spring-boot-sample-hypermedia-ui[spring-boot-sample-hypermedia-ui]
| Demonstrates Actuator's hypermedia support alongside a static web UI

| 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-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