Spring boot

스프링, 스프링 부트, 스프링 부트 스타터

primary 2021. 12. 11. 00:48
반응형

참고 도서 : 김영재, 처음으로 배우는 스프링 부트2 , 한빛소프트, 2018, 17~30p

2018년 도서라서, 최신화가 안되어 있을 수 있음.

참고 강의 :Spring Boot를 이용한 RESTful Web Services 개발 - DowonLee

 

SRPING : 단독 실행가능한 애플리케이션 개발

 

1.스프링 부트(Spring Boot)?

- 스프링 : 자바 대표 프레임워크 

- 스프링의 장점 : 안정성, 성능, DI(의존성 주입)  

- 스프링 부트 :

Spinrg Boot를 사용하면 스프링은 많은 설정이 필요하지만 최소한의 설정만으로 Spring 프로젝트 개발가능.

개발자가 비지니스 로직에 집중할 수 있도록 함.

스프링 부트는 스프링 프레임워크에 속하는 도구. 

 

1-1.스프링 부트 특징

1)임베디드 톰캣(내장형 톰캣), 제티, 언더 토우를 사용하여 스프링 애플리케이션 개발

2)통합스타터를 자동화된 스프링 설정 제공
- 메이븐/그레이들 간소화
- 스타터를 통한 자동화된 스프링 설정 제공 (스타터 컴포넌트)

3)번거로운 XML설정을 요구하지 않음
- IoC, AoP, Anotacion 세팅 과정 생략

4)JAR를 사용하여 자바 옵션만으로도 패키징 배포 가능

5)애플리케이션의 모니터링과 관리를 위한 스프링 액츄에이터 제공 
 - 통계/모니터링 라이브러리 포함해서 개발자가 쉽게 개발할 수 있음

 

1-2.스프링 부트 장단점

장점

1)의존성 버전업 수월

2)간단한 어노테이션 설정이나 프로퍼티 설정으로 원하는 기능을 빠르게 적용

3)외장 톰캣 필요없음

 

단점

1)설정 커스터마이징을 하면 버전을 올릴 때 기존 스프링 프레임워크를 사용하는 것과 동일한 불편함

2)특정 설정을 개인화 혹은 설정 자체를 변경하고 싶다면 내부의 설정 코드를 봐야하는 불편함.

 

 

 

 

 

 

2.스프링 부트 스타터 : 빌드에 필요한 의존성을 자동으로 관리

build.gradle 파일에 ex) spring-boot-starter-data-jpa  한줄 추가로 JPA사용가능.

Ctrl+Space를 이용해서 spring-boot-starter 메뉴 호출가능.

 

 

 

2-1.spring-boot-starter가 제공하는 여섯 가지 의존성

의존성 설명
spring-boot 스프링 부트에서 기본 제공하는 의존성
spring-boot-autoconfigure 스프링 부트의 자동 환경 구성에 필요한 의존성
spring-boot-starter-logging 각종 로그를 사용하는 데 필요한 의존성
javax.annotation-api 소프트웨어의 결함을 탐지하는 어노테이션을 지원하는 의존성
spring-core 스프링 코어를 사용하는데 필요한 의존성
snakeyaml  yaml을 사용하는데 필요한 의존성

 

 

 

2-2.spring-boot-starter 의존성 확인 

 

1)Spring Boot Reference Guide 를 통해 의존성 확인 가능.

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using.build-systems.starters

 

Spring Boot Reference Documentation

This section goes into more detail about how you should use Spring Boot. It covers topics such as build systems, auto-configuration, and how to run your applications. We also cover some Spring Boot best practices. Although there is nothing particularly spe

docs.spring.io

 

2)IDE를 통해 import된 프로젝트에서 External Libraries에서 의존된 라이브러리 확인 가능 

 

 

3)GitHub에서 스타터 의존성 버전 확인 

https://github.com/spring-projects/spring-boot/blob/main/spring-boot-project/spring-boot-dependencies/build.gradle

 

GitHub - spring-projects/spring-boot: Spring Boot

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

github.com

 

 

 

4)Docs에서 의존성 버전 확인

https://docs.spring.io/spring-boot/docs/current/reference/html/dependency-versions.html#dependency-versions

 

Dependency Versions

 

docs.spring.io

 

5)스프링 부트 버전별로 차이점 확인 방법 

github에서 Release Notes확인

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

 

GitHub - spring-projects/spring-boot: Spring Boot

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

github.com

 

 

반응형