Spring Boot 시작하기
아래의 내용중 기초편은 꼭 읽으시길 바랍니다.
기초에서 설명한 내용은 이후 튜토리얼에서 중복으로 설명하지 않습니다.
기초
Hello, World!
RESTful Web Service
Spring MVC Web Service
디렉토리 구조
기본적으로 스프링 부트는 구동시 모든 폴더를 찾아서, 에너테이션 확인 후 필요한 클래스를 실행 또는 생성합니다.
그래서 극단적으로 한 폴더에 모든 클래스 파일을 몰아 넣어도 상관이 없습니다.
하지만, 그러면 사람(개발자) 가 감당을 못하므로, 일정 폴더를 만들고 그 하위에 관련 클래스를 넣는게 보통입니다.
common
폴더에는 유틸러티/전역변수 관련 클래스를 넣는게 보통입니다.
config
폴더에는 @Configuration
에너테이션이 붙는 클래스를 주로 넣습니다.
domain
폴더에는 @Entity
에너테이션이 붙는 클래스와 Repository
인터페이스가 보통 들어갑니다.
service
폴더에는 @Service
에너테이션이 붙는 클래스가 들어갑니다.
web
폴더에는 @Controller
, @RestController
에너테이션이 붙는 컨트롤러 클래스가 들어갑니다.
데이타베이스
JPA
MySQL
Spring Data Couchbase
페이징
멀티 데이타소스
메시징
JMS
Kafka
Redis
Spring Security
웹서비스
Spring Security with JDBC(UserDetailsService)
Spring Security with JDBC(UserDetailsService)
Spring Boot and OAuth2
개념
구성요소
- 고객(User)
- 쇼핑몰 앱(Client)
- 소핑몰 서버(Resource Server)
- 인증 서버(Authorization Server)
고객이 쇼핑몰 앱으로 자신의 구글 로그인 계정을 이용해 쇼핑몰 주문내역을 조회하려고 한다고 가정해 봅니다.
이때, 고객(User) 은 쇼핑몰 앱(Client) 에 주문내역조회를 요청하고,
쇼핑몰 앱(Client) 은 고객(User) 을 구글 인증 서버에 보내고,
고객은 구글 인증 서버(Authorization Server) 에 로그인 후,
쇼핑몰 앱의 요청을 승인합니다.
쇼핑몰 앱은 인증서버가 보낸 액세스토큰으로 쇼핑몰 서버(Resource Server) 에 주문내역 조회요청을 하고,
쇼핑몰 서버(Resource Server) 는 액세스토큰으로 인증서버에 유효성 검증을 요청하고,
인증서버 승인 후 고객에게 주문내역을 제공합니다.
Authorization Server
Spring Boot OAuth2 Authorization Server 구축
Resource Server
Spring Boot OAuth2 Resource Server 구축