Summary : 스프링 부트는 스프링 프레임워크를 쉽게 쓸 수 있게 해준다.
🔍 목차
1.2 스프링 프레임워크 vs. 스프링 부트
1.2.1 의존성 관리
1.2.2 자동 설정
1.2.3 내장 WAS
1.2.4 모니터링
📌 1.2 스프링 프레임워크 vs. 스프링 부트
- 스프링 프레임워크는 다양한 기능을 제공하는 만큼 설정이 복잡함
- 이런 문제를 해결하기 위해 등장한 것이 바로 스프링 부트
- 스프링 부트는 스프링 프레임워크 설정의 많은 부분을 자동화하여 사용자가 편하게 스프링을 사용할 수 있게 해줌
📌 1.2.1 의존성 관리
- 스프링 프레임워크에서는 모듈의 의존성을 직접 설정해야하고, 호환되는 버전을 맞춰야함
- 하지만 스프링 부트에서는
spring-boot-starter
라는 의존성이 자주 사용되는 라이브러리를 조합하여 제공해줌 - 이를 통해 개발자는 라이브러리 호환 문제를 해결할 수 있음
- spring-boot-starter가 제공하는 주요 라이브러리들
- spring-boot-starter-web : 톰캣이 내장되어있음
- spring-boot-starter-test : JUnit, Jupiter, Mockito 등 테스트 라이브러리를 제공
- spring-boot-starter-jdbc : JDBC 기능 제공
- spring-boot-starter-security : 인증, 권한 등의 기능 제공
- spring-boot-starter-data-jpa : JPA 기능 제공
- spring-boot-starter-cache : 캐시 기능 제공
📌 1.2.2 자동 설정
- 스프링 부트의 자동 설정 기능은 어플리케이션에 추가된 라이브러리를 실행하는데 필요한 환경 설정을 알아서 찾아줌
- 예를들어, 스프링 부트 프로젝트를 만들면 자동 생성되는
SpringBootApplication 클래스에 적힌@SpringBootApplication
어노테이션은@SpringBootConfiguration
,@EnableAutoConfiguration
,@ComponentScan
이 조합된 어노테이션인데, - 여기서
@ComponentScan
은 어플리케이션을 실행하자마자 Bean들을 컨테이너에 자동 등록시키고,@EnableAutoConfiguration
은 다양한 자동 설정을 적용시켜줌
📌 1.2.3 내장 WAS (Web Application Server)
- 스프링 부트의 spring-boot-starter-web 라이브러리에는 톰캣이 내장되어있음
- 따라서 별도의 톰캣 설치 없이 어플리케이션 실행 가능
- 심지어 자동 설정이 톰캣에도 적용되므로 별도의 설정 없이 바로 톰캣 실행 가능
→ 학부때 웹 강의를 들으면서 톰캣을 직접 깔고, 이클립스에 연결하는 실습을 했었는데,
그때 엄청 복잡했던걸 생각하면,. 정말 큰 장점인 것 같다.
📌 1.2.4 모니터링
- 개발이 끝나면 해당 시스템이 사용하는 스레드, 메모리, 세션 등 주요 요소를 모니터링 해야하는데,
스프링 부트에는 '스프링 부트 액추에이터'라는 자체 모니터링 도구가 있으므로 모니터링을 쉽게 할 수 있음
'Spring Boot > 스프링 부트 핵심 가이드' 카테고리의 다른 글
[SpringBoot] 5.3-5 POST, PUT, DELETE API 만들기 (0) | 2023.07.30 |
---|---|
[SpringBoot] 5.2 GET API 만들기 (0) | 2023.07.30 |
[SpringBoot] 2.4-5 디자인 패턴, REST API (0) | 2023.07.30 |
[SpringBoot] 2.1-3 스프링 부트 동작 방식, 레이어드 아키텍처 (1) | 2023.07.23 |
[SpringBoot] 1.1 스프링 프레임워크 (0) | 2023.07.23 |