Spring Boot make it easy to create stand-alone, production-grade Spring base Application that you can “just run”.
We take an opionionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.
- Create stand-alone Spring applications
- Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)
- Provide opinionated 'starter' POMs to simplify your Maven configuration
- Automatically configure Spring whenever possible
- Provide production-ready features such as metrics, health checks and externalized configuration
- Absolutely no code generation and no requirement for XML configuration
from Spring Project
언제 사용하면 좋은가?
- 언제, 어디서, 어떤 상황에서도 좋다.
Spring Boot은 Starter 단위로 기능 Module을 추가한다. Web 기능 Module은 “spring-boot-starter-web”에 포함되어 있으며, 기본적으로 Tomcat이 embedded 되어 있다.
유일한 Spring boot 만의 Code
Controller : http://localhost:8080
Spring Boot Starters
Table 1. Spring Boot application starters
The core Spring Boot starter, including auto-configuration support, logging and YAML.
Production ready features to help you monitor and manage your application.
Support for the “Advanced Message Queuing Protocol” via spring-rabbit.
Support for aspect-oriented programming including spring-aop and AspectJ.
Support for “Java Message Service API” via Apache Artemis.
Support for “Spring Batch” including HSQLDB database.
Support for Spring’s Cache abstraction.
Support for “Spring Cloud Connectors” which simplifies connecting to services in cloud platforms like Cloud Foundry and Heroku.
Support for the Elasticsearch search and analytics engine including spring-data-elasticsearch.
Support for the GemFire distributed data store including spring-data-gemfire.
Support for the “Java Persistence API” including spring-data-jpa, spring-orm and Hibernate.
Support for the MongoDB NoSQL Database, including spring-data-mongodb.
Support for exposing Spring Data repositories over REST via spring-data-rest-webmvc.
Support for the Apache Solr search platform, including spring-data-solr.
Support for the FreeMarker templating engine.
Support for the Groovy templating engine.
Support for HATEOAS-based RESTful services via spring-hateoas.
Support for “Java Message Service API” via HornetQ.
Support for common spring-integration modules.
Support for JDBC databases.
Support for the Jersey RESTful Web Services framework.
Support for JTA distributed transactions via Atomikos.
Support for JTA distributed transactions via Bitronix.
Support for javax.mail.
Support for spring-mobile.
Support for the Mustache templating engine.
Support for the REDIS key-value data store, including spring-redis.
Support for spring-security.
Support for spring-social-facebook.
Support for spring-social-linkedin.
Support for spring-social-twitter.
Support for common test dependencies, including JUnit, Hamcrest and Mockito along with the spring-testmodule.
Support for the Thymeleaf templating engine, including integration with Spring.
Support for the Velocity templating engine.
Support for full-stack web development, including Tomcat and spring-webmvc.
Support for WebSocket development.
Support for Spring Web Services.
Table 2. Spring Boot production ready starters
Adds production ready features such as metrics and monitoring.
Adds remote ssh shell support.
Table 3. Spring Boot technical starters
Imports the Jetty HTTP engine (to be used as an alternative to Tomcat).
Support the Log4J logging framework.
Import Spring Boot’s default logging framework (Logback).
Import Spring Boot’s default HTTP engine (Tomcat).
Imports the Undertow HTTP engine (to be used as an alternative to Tomcat).
“Spring Boot takes an opinionated view of building production-ready Spring applications. Spring Boot favors convention over configuration and is designed to get you up and running as quickly as possible.”
“Spring Boot을 써야 한다.”