# 라이브러리 살펴보기 - `build.gradle`의 `dependencies`에서 확인할 수 있다. --- ## `External Libraries` - 프로젝트 내부에 에서 현재 다운로드된 라이브러리들을 확인할 수 있다(매우 많다!). --- ## `Maven`, `Gradle`과 같은 빌드 툴 - 의존관계를 관리해준다. - `spring-boot-starter-web` 라이브러리를 가져오면 `spring-boot-starter-tomcat` 등과 같이 추가로 필요한(의존관계가 있는) 라이브러리를 같이 가져온다. --- ## Gradle(우측 세로 메뉴) - 현재 가져온 라이브러리들을 확인할 수 있다. - 라이브러리들을 보다보면 `(*)` 표시를 볼 수 있는데, 이미 다른 라이브러리에서 가져온 라이브러리라는 의미로 중복을 제거한 것이다. --- ## `spring-boot-starter-tomcat` - 고대에는 톰캣과 같은 웹서버(WAS)를 직접 설치해놓고 자바 코드를 밀어넣는 식 사용하여 웹서버와 개발 라이브러리가 분리되어 있있다. - 최근에는 소스 라이브러리에서 웹서버를 내장하고(임베디드) 있다. - 그래서 실행만 해도 웹서버가 나온다(따라서 설정이 필요가 없다). --- ## `spring-boot-starter` - 스프링부트와 관련된 프로젝트를 사용하면 웬만해서는 의존관계가 다 가져와지므로 직접 가져오지 않아도 괜찮다. 스프링부트와 관계된 라이브러리를 쓰면 `spring-core`까지 다 가져와서 스프링 관련된 세팅이 되면서 프로그램이 돌아간다고 이해하자. --- ## `spring-boot-starter-logging` - 현업에서는 로그로 출력을 해야한다. - 로그로 남겨야 심각한 에러를 모아보거나 로그 파일들의 관리가 가능하기 때문이다. - `slf4j`, `logback`의 두 라이브러리를 포함하고 있다. - 로그에 대해 궁금하다면 위의 두 가지 라이브러리를 공부해보자. --- ## `spring-boot-starter-test` - 자바진영에서는 `JUnit`이라는 라이브러리를 사용한다. - `mockito`, `assertj` 등 테스트를 편리하게 하도록 도와주는 라이브러리들이 포함되어 있다. - `spring-test` - 스프링과 통합해서 테스트할 수 있도록 해주는 라이브러리이다. ---