spring-boot/spring-boot-samples
Madhura Bhave ce0282406f Skip lazy init for beans that explicitly set lazy to false
This commit also adds tests to ensure that the child
management context works when lazy initialization is
enabled. Also, it adds a BeanFactoryPostProcessor to
the child context so that the server is created and
listening for requests but other beans in the child
context are not created until requested.

See gh-16184
2019-04-05 18:02:26 -07:00
..
spring-boot-sample-activemq Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-actuator Skip lazy init for beans that explicitly set lazy to false 2019-04-05 18:02:26 -07:00
spring-boot-sample-actuator-custom-security Reformat samples with spring-javaformat 0.0.8 2019-04-02 19:39:23 -07:00
spring-boot-sample-actuator-log4j2 Merge branch '2.1.x' 2019-04-03 17:00:25 -07:00
spring-boot-sample-actuator-noweb Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-actuator-ui Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-amqp Update copyright header of changed files 2019-04-03 16:13:00 -07:00
spring-boot-sample-animated-banner Merge branch '1.5.x' into 2.0.x 2019-03-20 16:45:26 +00:00
spring-boot-sample-ant Update copyright header of changed files 2019-04-03 16:13:00 -07:00
spring-boot-sample-aop Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-atmosphere Merge branch '2.1.x' 2019-04-03 17:00:25 -07:00
spring-boot-sample-batch Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-cache Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-custom-layout Merge branch '2.0.x' into 2.1.x 2019-03-20 16:53:48 +00:00
spring-boot-sample-data-cassandra Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-data-couchbase Merge branch '2.1.x' 2019-03-20 16:55:10 +00:00
spring-boot-sample-data-elasticsearch Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-data-jdbc Merge branch '2.0.x' into 2.1.x 2019-03-20 16:53:48 +00:00
spring-boot-sample-data-jpa Update copyright header of changed files 2019-04-03 16:13:00 -07:00
spring-boot-sample-data-ldap Merge branch '2.1.x' 2019-03-20 16:55:10 +00:00
spring-boot-sample-data-mongodb Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-data-neo4j Use HTTPS for external links wherever possible 2019-03-27 15:01:19 +00:00
spring-boot-sample-data-redis Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-data-rest Merge branch '2.1.x' 2019-04-03 17:00:25 -07:00
spring-boot-sample-data-solr Merge branch '2.1.x' 2019-04-03 17:00:25 -07:00
spring-boot-sample-devtools Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-flyway Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-hateoas Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-integration Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-jersey Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-jetty Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-jetty-jsp Merge branch '2.1.x' 2019-03-20 16:55:10 +00:00
spring-boot-sample-jetty-ssl Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-jooq Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-jpa Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-jta-atomikos Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-jta-bitronix Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-jta-jndi Merge branch '2.1.x' 2019-04-03 17:00:25 -07:00
spring-boot-sample-junit-jupiter Merge branch '2.0.x' into 2.1.x 2019-03-20 16:53:48 +00:00
spring-boot-sample-kafka Merge branch '2.1.x' 2019-04-02 19:42:23 -07:00
spring-boot-sample-liquibase Merge branch '2.1.x' 2019-04-03 17:00:25 -07:00
spring-boot-sample-logback Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-oauth2-client Update copyright header of changed files 2019-04-03 16:13:00 -07:00
spring-boot-sample-oauth2-resource-server Merge branch '2.0.x' into 2.1.x 2019-03-20 16:53:48 +00:00
spring-boot-sample-parent-context Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-profile Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-property-validation Merge branch '2.1.x' 2019-04-03 17:00:25 -07:00
spring-boot-sample-quartz Merge branch '2.1.x' 2019-03-20 16:55:10 +00:00
spring-boot-sample-reactive-oauth2-client Update copyright header of changed files 2019-04-03 16:13:00 -07:00
spring-boot-sample-reactive-oauth2-resource-server Merge branch '2.0.x' into 2.1.x 2019-03-20 16:53:48 +00:00
spring-boot-sample-secure Merge branch '2.1.x' 2019-04-03 17:00:25 -07:00
spring-boot-sample-secure-webflux Merge branch '2.1.x' 2019-04-02 19:42:23 -07:00
spring-boot-sample-servlet Update copyright header of changed files 2019-04-03 16:13:00 -07:00
spring-boot-sample-session Merge branch '2.0.x' into 2.1.x 2019-03-20 16:53:48 +00:00
spring-boot-sample-session-webflux Reformat samples with spring-javaformat 0.0.8 2019-04-02 19:39:23 -07:00
spring-boot-sample-simple Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-test Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-test-nomockito Merge branch '2.1.x' 2019-03-20 16:55:10 +00:00
spring-boot-sample-testng Update copyright header of changed files 2019-04-03 16:13:00 -07:00
spring-boot-sample-tomcat Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-tomcat-jsp Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-tomcat-multi-connectors Update copyright header of changed files 2019-04-03 16:13:00 -07:00
spring-boot-sample-tomcat-ssl Merge branch '2.1.x' 2019-04-03 17:00:25 -07:00
spring-boot-sample-traditional Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-undertow Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-undertow-ssl Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-war Merge branch '2.1.x' 2019-04-03 17:00:25 -07:00
spring-boot-sample-web-freemarker Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-web-groovy-templates Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-web-jsp Update copyright header of changed files 2019-04-03 16:13:00 -07:00
spring-boot-sample-web-method-security Merge branch '2.1.x' 2019-04-03 17:00:25 -07:00
spring-boot-sample-web-mustache Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-web-secure Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-web-secure-custom Update copyright header of changed files 2019-04-03 16:13:00 -07:00
spring-boot-sample-web-secure-jdbc Merge branch '2.1.x' 2019-03-28 11:48:47 +00:00
spring-boot-sample-web-static Merge branch '2.1.x' 2019-04-03 17:00:25 -07:00
spring-boot-sample-web-ui Merge branch '2.1.x' 2019-04-03 17:00:25 -07:00
spring-boot-sample-webflux Merge branch '2.1.x' 2019-04-02 19:42:23 -07:00
spring-boot-sample-webservices Merge branch '2.1.x' 2019-03-28 11:48:47 +00:00
spring-boot-sample-websocket-jetty Update copyright header of changed files 2019-04-03 17:01:00 -07:00
spring-boot-sample-websocket-tomcat Merge branch '2.1.x' 2019-04-03 17:00:25 -07:00
spring-boot-sample-websocket-undertow Merge branch '2.1.x' 2019-04-03 17:00:25 -07:00
spring-boot-sample-xml Update copyright header of changed files 2019-04-03 17:01:00 -07:00
README.adoc
pom.xml Update the samples to use Spring Java Format 0.0.7 2019-03-20 17:30:25 +00:00

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-jdbc[spring-boot-sample-data-jdbc]
| Stores data using Spring Data JDBC

| 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

| 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-junit-jupiter[spring-boot-sample-junit-jupiter]
| Demonstrates JUnit Jupiter-based testing

| link:spring-boot-sample-kafka[spring-boot-sample-kafka]
| Consumer and producer using Apache Kafka

| 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-oauth2-client[spring-boot-sample-oauth2-client]
| Configure an OAuth2 login client

| link:spring-boot-sample-reactive-oauth2-client[spring-boot-sample-reactive-oauth2-client]
| Configure a Reactive OAuth2 login client

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

| link:spring-boot-sample-reactive-oauth2-resource-server[spring-boot-sample-reactive-oauth2-resource-server]
| Configure a Reactive OAuth2 resource server

| 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-servlet[spring-boot-sample-servlet]
| Web application with a "raw" `Servlet` returning plain text content

| link:spring-boot-sample-session[spring-boot-sample-session]
| Web Application that uses Spring Session to manage session data

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