Spring Boot
- Spring Boot의 주요 feature
1. Spring Boot starters
- Spring Boot starters는 하나의 dependency로 필요한 많은 공통의 의존성을 모아놓은 것이다.
- Maven이나 Gradle에서 간단히 추가해서 사용할 수 있다.
2. Autoconfiguration
- Autoconfiguration은 Spring 4.0에서 지원되는 조건적 설정과 함께 필요한 설정을 자동추가한다.
3. Command-line interface (CLI)
- CLI는 Groovy 개발자에게 자동 설정과 스프링 개발을 단순하게 해주는 기능을 제공한다.
4. Actuator
- Actuator는 Spring Boot에 대해서 관리 기능을 제공해준다.
- Spring Boot 시작 패키지 다운로드 받기.
http://start.spring.io- 프로젝트 생성하기.
1. Generate a [Gradle Project | Maven Project] 에서 필요한 프로젝트 관리 도구를 선택하자.
2. 프로젝트 기본항목 설정하기. :
Group : com.kido.media
Artifact : springboot-tutorial
Name : springboot-tutorial
Description : Demo project for Spring Boot
Package Name : com.kido.media
Packaging : Jar [War]
Java Version : 1.8
Language : Java
3. 필요한 Dependency 추가하기.
- Switch back to the simple version 을 누르면 필요한 Dependency를 추가할 수 있다.3.1 Core Dependency
Core
Secure your application via spring-security
Aspect-oriented programming including spring-aop and AspectJ
JTA distributed transactions via Atomikos
JTA distributed transactions via Bitronix
Spring's Cache abstraction
Spring Boot Development Tools
JSR-303 validation infrastructure (already included with web)
Lombok
Web
Full-stack web development with Tomcat and Spring MVC
Websocket development with SockJS and STOMP
Contract-first SOAP service development with Spring Web Services
the Jersey RESTful Web Services framework
Spring Boot integration for the Ratpack framework
Vaadin
Exposing Spring Data repositories over REST via spring-data-rest-webmvc
HATEOAS-based RESTful services
Browsing Spring Data REST repositories with an HTML UI
Simplify the development of mobile web applications with spring-mobile
Document RESTful services by combining hand-written and auto-generated documentation
Template Engines
FreeMarker templating engine
Velocity templating engine
Groovy templating engine
Thymeleaf templating engine, including integration with Spring
Mustache templating engine
Data
JDBC databases
Java Persistence API including spring-data-jpa, spring-orm and Hibernate
Persistence support using Java Object Oriented Querying
MongoDB NoSQL Database, including spring-data-mongodb
Cassandra NoSQL Database, including spring-data-cassandra
REDIS key-value data store, including spring-redis
GemFire distributed data store including spring-data-gemfire
Apache Solr search platform, including spring-data-solr
Elasticsearch search and analytics engine including spring-data-elasticsearch
Cloud Core
Simplifies connecting to services in cloud platforms, including spring-cloud-connector and spring-cloud-cloudfoundry-connector
spring-cloud-context (e.g. Bootstrap context and @RefreshScope)
Secure load balancing and routing with spring-cloud-security
OAuth2 and distributed application patterns with spring-cloud-security
Cloud Config
spring-cloud-config Client
Central management for configuration via a git or svn backend
Configuration management with Zookeeper and spring-cloud-zookeeper-config
Configuration management with Hashicorp Consul
Cloud Discovery
Service discovery using spring-cloud-netflix and Eureka
spring-cloud-netflix Eureka Server
Service discovery with Zookeeper and spring-cloud-zookeeper-discovery
Service discovery with Cloud Foundry
Service discovery with Hashicorp Consul
Cloud Routing
Intelligent and programmable routing with spring-cloud-netflix Zuul
Client side load balancing with spring-cloud-netflix and Ribbon
Declarative REST clients with spring-cloud-netflix Feign
Cloud Circuit Breaker
Circuit breaker with spring-cloud-netflix Hystrix
Circuit breaker dashboard with spring-cloud-netflix Hystrix
Circuit breaker metric aggregation using spring-cloud-netflix with Turbine and server-sent events
Circuit breaker metric aggregation using spring-cloud-netflix with Turbine and Spring Cloud Stream (choose a specific Stream binder implementation to complement this)
Cloud Tracing
Distributed tracing via logs with spring-cloud-sleuth
Distributed tracing via Zipkin and spring-cloud-sleuth-zipkin
Cloud Messaging
A simple control bus with AMQP and spring-cloud-bus-amqp
A simple control bus with Redis and spring-cloud-bus
A simple control bus with Kafka and spring-cloud-bus
Inter instance control events with Hashicorp Consul
Messaging microservices with RabbitMQ
Messaging microservices with Redis
Messaging microservices with Kafka
Cloud AWS
AWS native services from spring-cloud-aws
Relational databases on AWS with RDS and spring-cloud-aws-jdbc
Messaging on AWS with SQS and spring-cloud-aws-messaging
Cloud Cluster
Leadership election and global state with Redis and spring-cloud-cluster-redis
Leadership election and global state with Zookeeper and spring-cloud-cluster-zookeeper
Leadership election and global state with Hazelcast and spring-cloud-cluster-hazelcast
Database
H2 database (with embedded support)
HSQLDB database (with embedded support)
Apache Derby database (with embedded support)
MySQL jdbc driver
PostgreSQL jdbc driver
Social
spring-social-facebook
spring-social-linkedin
spring-social-twitter
I/O
Spring Batch including HSQLDB database
Common spring-integration modules
Activiti BPMN workflow engine
Java Message Service API via Apache Artemis
Java Message Service API via HornetQ
Advanced Message Queuing Protocol via spring-rabbit
javax.mail
Ops
Production ready features to help you monitor and manage your application
API documentation for the Actuator endpoints
CRaSH shell integration
우리는 여기서 Web, JPA 를 추가할 것이다.
EmoticonEmoticon