CheerUp_Cheers

스프링 부트2 - (1) 스프링 부트 입문하기 본문

서적 공부/스프링부트 - 처음 배우는 스프링부트2

스프링 부트2 - (1) 스프링 부트 입문하기

meorimori 2020. 7. 8. 23:10

#J2EE(자바 플랫폼, Enterprise Edition)

[1] 서블릿 컨테이너 설치 필요

ex)톰캣, 제티, 언더토우

 

[2] 프로젝트 내의 환경 구성 필요.

 

#Spring

대표적인 자바 애플리케이션 프레임워크.

안정성, 성능, DI 덕분.

 

#Spring Boot

필요한 환경 설정을 최소화.

개발자가 비즈니스 로직에 집중할 수 있도록 도와줘 생산성 확대.

Spring boot의 버전별 달라진 점과 새롭게 추가된점 보기

 -> https://github.com/spring-projects/spring-boot/wiki

 

spring-projects/spring-boot

Spring Boot. Contribute to spring-projects/spring-boot development by creating an account on GitHub.

github.com

 

[1] 주요 특징

 - 내장된 톰캣,제티,언더토우를 통하여 독립실행 가능.

 - 스타터를 통한 자동화된 스프링 설정 제공

 - 번거로운 XML 설정요구X

 - JAR를 사용하여 자바 옵션만으로 배포 가능.

 

[2] 스프링 스타터

 - 빌드에 필요한 의존성 자동 관리.

 - DB연동에 스프링과 JPA가 필요하다면 pom.xml이나 build.gradle에 spring-boot-statrter-data-jap 추가.

  -> 일일이 어떤 라이브러리가 필요한지 찾아볼 필요 없음.

 - starter 의존성을 사용하면 일일이 호환 버전을 신경쓸 필요가 없음.

 

#Starter의 종류

[1] Web

 스프링 MVC, REST형, 임베디드 톰캣, 기타 라이브러리)

[2] Security

 각종 보안에 사용하는 스프링 시큐리티

[3] OAuth2

 OAuth2 인증에 사용하는 스타터

[4] JPA

 스프링 데이터 JPA(Spring Data JPA)와 하이버네이트를 사용하는 필요한 데이터

[5] REST

 스프링 데이터 저장소 방식에 맞춘 Rest API를 제공하는 데 사용하는 스타터

[6] Batch

 

#Spring Boot 장단점

[1] 장점

 - 각각의 의존성 올리기 쉬움(충분한 테스트를 가지고 릴리스)

 - 특정 라이브러리에 버그가 있다 하더라도 스프링팀에서 버그픽스한 버전을 받기 편함

 - 간단한 어노테이션 설정이나 프로퍼티 설정으로 세부적인 설정 없이 원하는 기능을 적용.

 - 별도의 외장 톰캣을 설치할 필요가 없음.

[2] 단점

 - 설정을 커스터마이징하여 버전을 올릴 때 기존 스프링 프레임워크를 사용하는것이 불편.