Spring Boot Part01

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





상기 기술된 의존성중 필요한 의존성을 추가하여 Spring Boot 프로젝트 생성하자.

우리는 여기서 Web, JPA 를 추가할 것이다.

Share this

Related Posts

Previous
Next Post »