인프런의 김영한님의 스프링입문 강의를 듣고 정리한 내용입니다.
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로 넘어가는 추세이다. |
'Java > Spring입문' 카테고리의 다른 글
Spring 입문(12) 스프링 DB 접근 기술: 순수 JDBC(스프링 통합테스트) (0) | 2022.03.11 |
---|---|
Spring 입문(5) 스프링 웹 개발 기초(정적 컨텐츠, 템플릿엔진(MVC), API) (0) | 2022.03.09 |
Spring 입문(4) cmd창에 빌드하고 실행하기 (0) | 2022.03.08 |
Spring 입문(3) View 환경설정 (0) | 2022.03.08 |
Spring 입문(1) 프로젝트 생성 및 환경설정 (IDE: Intellij 설치) (0) | 2022.03.07 |