본 포스팅은 인프런의 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술' 강의를 수강하며 정리한 내용입니다.
Gradle은 의존관계가 있는 라이브러리를 함께 다운로드 합니다.
스프링 부트 라이브러리
spring-boot-starter-web
1. spring-boot-starter-tomcat : 톰캣 (웹서버)
2. spring-webmvc : 스프링 웹 MVC
spring-boot-starter-thymeleaf : 타임리프 템플릿 엔진(View)
spring-boot-starter(공통) : 스프링 부트 + 스프링 코어 + 로깅
1. spring-boot
spring-core
2. spring-boot-starter-logging
logback, slf4j
테스트 라이브러리
spring-boot-starter-test
1. junit : 테스트 프레임워크
2. mockito : 목 라이브러리
3. assertj : 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리
4. spring-test: 스프링 통합 테스트 지원
Code
build.gradle 파일
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') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
external libraries
+ ...
각 라이브러리들끼리 서로 의존 관계가 있습니다. 의존관계가 있는 라이브러리들은 직접 가져오지 않아도 자동으로 가져와 줍니다.(with Gradle) spring-boot라이브러리를 쓰면 core 라이브러리까지 가져옵니다.
예를들어, 아래 dependencies에서 starter 라이브러리는 thymeleaf, web 라이브러리가 필요합니다. 또 thymleaf 라이브러리 밑에는 또 하위 라이브러리들이 많이 존재하는데, thymleaf 가 필요로 하는 라이브러리들입니다. 요즘에는 톰캣과 같은 웹 서버도 내장된 것을 사용합니다. 예전처럼 톰캣 서버를 직접 다운받지 않고, 라이브러리를 사용합니다. (embeded)
logging 쓰는 이유
심각한 로그만 모아 로그 파일로 관리하기 위해서 입니다. 현업에서 system.out.println() 은 쓰지 않습니다. spring-boot-starter-logging 을 사용하면 자동으로 가져와줍니다.
spring-boot-starter-test 라이브러리
- junit : java에서 테스트에 사용
- mockito, assertJ : 테스트를 편리하게 하도록 함
'Dev > Spring Boot' 카테고리의 다른 글
[코드로 배우는 스프링 부트] 빌드하고 실행하기 (0) | 2021.02.18 |
---|---|
[코드로 배우는 스프링 부트] View 환경설정 (0) | 2021.02.17 |
[코드로 배우는 스프링 부트] 프로젝트 생성 (1) | 2021.02.17 |
[코드로 배우는 스프링 부트] 스터디 목표 설정 (0) | 2021.02.17 |
[예제로 배우는 스프링 입문] 의존성 주입 (0) | 2020.04.10 |