1.2.1 라이브러리 살펴보기
build.gradle 파일의 dependencies를 보면,
프로젝트 생성시에 추가한
thymeleaf , web , test(기본으로 생성) 라이브러리가 사용되고 있음을 알 수 있다.
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
하지만 External Libraries 를 살펴보면,
우리가 프로젝트를 생성할 때 추가하지 않은,
굉장히 많은 라이브러리들이 실제로 사용되고 있음을 볼 수 있다.
이는 Gradle이나 Maven과 같은 빌드 툴들이 의존관계를 자동으로 관리해주기 때문이다.
따라서 thymeleaf, web, test와 의존관계에 있는 수많은 라이브러리들이 자동으로 불러와진다.
이러한 의존관계는 오른쪽 상단의 Gradle > Dependencies 를 통해 자세하게 확인할 수 있다.
(* 표시가 되어 있는 라이브러리는 상단과 중복된 라이브러리를 표현하지 않은 것이다.)
1.2.2 spring-boot-starter-web (tomcat) 라이브러리 살펴보기
spring-boot-starter-web 라이브러리는 톰캣 / 스프링 웹 MVC 를 포함한다.
그 중 웹 서버인 tomcat에 대해 자세히 살펴보자.
과거에는 tomcat을 미리 설치하고, 이 웹 서버에서 자바를 실행하였다.
즉, 웹 서버와 라이브러리는 분리된 구조였다.
하지만 최근에는 라이브러리가 웹 서버를 내장하고 있다.
이는 main 메소드를 실행시키면, http 8080 포트가 뜨는 것을 통해 알 수 있다.
1.2.3 spring-boot-starter 라이브러리 살펴보기
spring-boot라이브러리는 thymeleaf 라이브러리를 통해 자동으로 불러와진다.
spring-boot와 관련된 autoconfiguration / logging / spring-core 라이브러리들이 해당된다.
- spring-boot : spring-core
- spring-boot-starter-logging : logback , slf4j
logging에 대해 조금 더 자세히 살펴보면, logging은 logback 과 slf4j를 포함한다.
최근에는 거의 logback과 slf4j로 로깅을 운영한다.
- logback : 실제 로그를 어떤 구현체로 출력할 것인지
- slf4j : 인터페이스
1.2.3 spring-boot-starter-test 라이브러리 살펴보기
test 라이브러리는 junit / mockito / assertj / spring-test 라이브러리를 포함한다.
- junit : 테스트 프레임워크로, 최근에는 5버전을 주로 사용한다.
- mockito / assertj : test를 편리하게 도와주는 라이브러리이다.
- spring-test : spring을 통합해서 test할 수 있도록 지원한다.
김영한 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술' 강의를 기반으로 작성하였습니다.
'SPRING 입문 [ 코드로 배우는 스프링 부트 ]' 카테고리의 다른 글
[스프링 입문] 섹션 2.1 스프링 웹 개발 기초 (정적 컨텐츠) (0) | 2023.01.07 |
---|---|
[스프링 입문] 섹션 1.4 프로젝트 환경설정 (빌드하고 실행하기) (0) | 2023.01.07 |
[스프링 입문] 섹션 1.3 프로젝트 환경설정 (View 환경설정) (0) | 2023.01.07 |
[스프링 입문] 섹션 1.1 프로젝트 환경설정 (프로젝트 생성) (0) | 2022.12.28 |
[스프링 입문] 섹션 0. Spring을 공부하고 싶은 이유 / 강의 소개 (0) | 2022.12.28 |