본문 바로가기
Java/Spring입문

Spring 입문(2) 라이브러리 살펴보기

by 이쟝 2022. 3. 8.
인프런의 김영한님의 스프링입문 강의를 듣고 정리한 내용입니다.
Gradle은 의존관계가 있는 라이브러리를 함께 다운로드한다. 
=> Gradle이나 Maven같은 빌드 tool들은 관련된 External Libraries를 모두 다운로드한다.

 

*스프링 부트 라이브러리*

spring-boot-starter-web

  • spring-boot-starter-tomcat: 톰캣(웹서버)
  • spring-webmvc: 스프링 웹 MVC

 

spring-boot-starter-thymeleaf: 타임리프 템플릿 엔진(View)

spring-boot-starter(공통): 스프링 부트 + 스프링 코어 + 로깅

  • spring-boot
    • spring-core

 

  • spring-boot-starter-logging 
    • logback, slf4j
*현업에서는 Sysout을 별로 안 쓰고 log를 쓴다!!*

logging을 다운로드하면 logback과 slf4j는 자동으로 받아진다. (표준)

 

view > Tool Windows > gradle 

관련된 라이브들이 있는데 여기 안에 보면 톰켓이 내장(embed)되어 있어서 굳이 톰캣 서버를 깔지 않아도 실행 가능하다!!!(훨씬 간편하다..)

 

 

*테스트 라이브러리*

spring-boot-starter-test

 

junit: 테스트 프레임워크 (핵심) -> junit5를 많이 사용함 mockito: 목 라이브러리
assertj: 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리 spring-test: 스프링 통합 테스트 지원

 

 


 

spring-boot-starter-tomcat

 

spring-boot-starter-web 라이브러리 안에는 톰캣 라이브러리가 존재하는데,
이 라이브러리는
 별도의 톰캣 웹서버를 설치, 배포, 실행하는 복잡한 과정을 줄여준다.
그래서 자바 코드를 실행하기만 해도 톰캣 서버가 실행된다. 이것을 바로 embedded라고 한다.

spring-boot-starter-core

 

 spring-boot-starter에는 스프링 부트와 관련된 라이브러리가 전부 들어가 있고 가장 밑바닥에 있는 스프링 코어까지 모두 가져오고 있음을 알 수 있다.
이것 또한 gradle 창에서 검색하면 의존관계를 확인할 수가 있다.

spring-boot-starter-logging

 

서버를 실행할 때마다 실행되는 모든 결과물들을 log로 남겨야 심각한 에러만 따로 분리할 수 있다. 그래서 log 라이브러리는 중요하며, 실무에서도 많이 사용된다. 
해당 라이브러리 안에는 logback과 slf4j이 있는데, slf4j은 인터페이스고 logback라는 이 인터페이스의 구현체이다.
대체로 이 조합이 많이 사용되므로 springboot에서도 이것을 표준으로 정하여 미리 의존 라이브러리로 다운받아진 것이다.

spring-boot-starter-test

테스트와 관련된 라이브러리도 존재하는데, 그 중에서 junit이라는 라이브러리가 실무에서 많이 된다.
실무에서는 버전 4가 오래 유지되다가 최근에 5로 넘어가는 추세이다.