-
1. 스프링 부트 소개Spring-Boot/스프링부트 - 핵심 원리와 활용 2023. 4. 14. 11:00
스프링 부트 - 5가지 핵심 기능
ㆍ내장 서버
ㆍ자동 라이브러리 관리
ㆍ자동 구성(Auto Configuration)
ㆍ외부 설정
ㆍ모니터링과 관리 기능
1. 스프링 부트 소개
- 스프링 프레임 워크
ㆍDI 컨테이너, MVC, DB 접근 기술 등 수 많은 기능을 제공하고 다양한 문제 해결
ㆍ다양한 라이브러리들을 편리하게 사용할 수 있도록 통합
ㆍ개발자의 생산성이 높아짐, 사용 범위 확대
ㆍ자바 생태계의 사실상 표준 프레임 워크
ㆍ핵심 기술 :스프링 DI 컨테이너, AOP, 이벤트
ㆍ웹 기술 : 스프링 MVC, 스프링 WebFlux
ㆍ데이터 접근 기술 : 트랜잭션, JDBC, ORM 지원, XML 지원
ㆍ기술 통합 : 캐시, 이메일, 원격 접근, 스케줄링
ㆍ테스트 : 스프링 기반 테스트 지원
- 스프링 프레임워크 확대
ㆍ스프링과 그 생태계가 점점 커짐
ㆍ스프링의 기능도 점점 많아짐
ㆍ다양한 오픈 소스의 등장으로 수 많은 라이브러리를 함께 사용해야함
ㆍ스프링으로 프로젝트를 시작할 때 필요한 설정이 점점 늘어남
ㆍ스프링으로 프로젝트를 시작하는 것이 점점 어려워짐
ㆍ시작도 하기 전에 복잡한 설정 떄문에 포기
2. 스프링 부트의 등장
- 스프링 부트
ㆍBOOT, 부팅
º 최소한의 인간 개입으로 시작하고 완전히 작동하는 것을 의미
º 어떤 일을 시작하기 위해 필요한 모든 준비를 마친다는 의미
ㆍ시작을 위한 복잡한 설정 과정은 스프링 부트가 해결
ㆍ개발자는 새로운 스프링 애플리케이션을 쉽고 빠르게 시작
ㆍ스프링을 편리하게 사용할 수 있도록 지원, 최근에는 기본으로 사용
ㆍ단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성
ㆍ관례에 의한 간결한 설정
- 스프링 부트 - 핵심 기능 5가지
ㆍWAS : Tomcat 같은 웹 서버를 내장해서 별도의 웹 서버를 설치하지 않아도 됨
ㆍ라이브러리 관리
º 손쉬운 빌드 구성을 위한 스타터 종속성 제공
º 스프링과 외부 라이브러리의 버전을 자동으로 관리
ㆍ자동 구성 : 프로젝트 시작에 필요한 스프링과 외부 라이브러리의 빈을 자동 등록
ㆍ외부 설정 : 환경에 따라 달라져야 하는 외부 설정 공통화
ㆍ프로덕션 준비 : 모니터링을 위한 메트릭, 상태 확인 기능 제공
- 스프링 프레임워크와 스프링 부트
ㆍ스프링 부트는 스프링 프레임워크를 쉽게 사용할 수 있게 도와주는 도구일 뿐이다!
ㆍ본질은 스프링 프레임워크
ㆍ하지만 스프링 부트가 제공하는 편의 기능이 너무 막강해서 스프링 부트 사용은 필수
- 스프링 부트를 배워야 하는 이유
ㆍ스프링 부트는 편리하지만, 너무 많은 것을 자동화
ㆍ최소한 스프링 부트가 어떤 원로 작동하는지 알아두어야 함
ㆍ그래야 문제가 발생했을 때 해결 가능
ㆍ스프링 부트의 원리를 이해하면 문제점을 쉽게 파악
ㆍ스프링 부트는 수 많은 편의 기능들을 제공
ㆍ대부분의 개발자가 비슷하게 고민하는 기능을 스프링 부트를 이미 만들어서 제공
ㆍ예를 들어서 외부 설정, 액츄에이터를 통한 모니터링 관리 기능
ㆍ개발 시간 단축
- 스프링 단어?
ㆍ스프링이라는 단어는 문맥에 따라 다르게 사용된다
º 스프링 DI 컨테이너 기술
º 스프링 프레임워크
º 스프링 부트, 스프링 프레임워크 등을 모두 포함한 스프링 생태계
'Spring-Boot > 스프링부트 - 핵심 원리와 활용' 카테고리의 다른 글
6. 외부설정과 프로필1 (0) 2023.05.24 5. 자동 구성(Auto Configuration) (0) 2023.05.18 4. 스프링 부트 스타터와 라이브러리 관리 (0) 2023.05.15 3. 스프링 부트와 내장 톰캣 (0) 2023.05.15 2. 웹 서버와 서블릿 컨테이너 (0) 2023.04.14