# 라이브러리 살펴보기

gradle, mave 같은 툴들은 의존관계를 다 관리해준다. sprint-sttarter-web을 하나 추가하면 이를 사용하기 위해 필요한 의존관계의 라이브러리들을 가져온다.

옛날에는 웹 서버와 라이브러리가 분리되어 사용됐다. 현재는 소스에서 웹서버를 내장하고 있다. 이를 embedded라고 한다. 자바 메인 메서드만 실행시켰는데 웹서버가 뜬다.

1. 스프링 부트 라이브러리

* spring-boot-starter-web\
  \- spring-boot-starter-tomcat : 톰캣(웹서버)\
  \- spring-webmvc : 스프링 웹 mvc
* spring-boot-starter-thymeleaf : 타임리프 템플릿 엔진(View)
* spring-boot-starter(공통) : 스프링 부트 + 스프링 코어 + 로깅\
  \- spring-boot\
  &#x20;   \- spring-core\
  \- spring-boot-starteer-logging\
  &#x20;   \- logback, slf4j\
  현업에서는 System.out.println()으로 출력하면 안 되고 로그로 출력해야한다!!! 로그로 남겨야 심각한 에러만 따로 모아서 로그파일들을 관리할 수 있다. 로그에 때해 궁금하다면 slf4j와 logback을 검색해봐라.\
  slf4j : 인터페이스\
  logback : 실제 로그를 어떤 구조체로 출력할 것인지 . 성능도 빠르고 여러 기능들이 좋다.

2\. 테스트 라이브러리\
\- junit : 테스트 프레임워크\
\- mockito : 목 라이브러리\
\- assertj : 테스트 코드를 좀 더 편하게 작성하도록 도와주는 라이브러리.\
\- spring-test : 스프링 통합 테스트 지
