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 »