[SPRING] 라이브러리

.·2024년 5월 30일

SPRING

목록 보기
2/15

1. build.gradle dependency

build.gradle

plugins {
	id 'java'
	id 'org.springframework.boot' version '3.2.5'
	id 'io.spring.dependency-management' version '1.1.4'
}

group = 'hello'
version = '0.0.1-SNAPSHOT'

java {
	sourceCompatibility = '17'
}

repositories {
	// 라이브러리를 다운로드 받기 위한 사이트 설정
	mavenCentral()
}

// 라이브러리
// spring-boot-starter-thymeleaf : html 만드는 템플릿 엔진
// spring-boot-starter-web : 웹 프로젝트
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'
}

tasks.named('test') {
	useJUnitPlatform()
}
  • spring-boot-starter-thymeleaf : html 만드는 템플릿 엔진
  • spring-boot-starter-web : 웹 프로젝트
  • spring-boot-starter-test: 스프링부트 어플리케이션 통합테스트 지원

build.gradle을 통해 필요한 라이브러리들을 dependency로 설정할 수 있다.
우선 프로젝트 생성 시 spring-boot-starter-thymeleaf, spring-boot-starter-web을 설정했다.
spring-boot-starter-test는 따로 설정하지 않았지만 자동으로 들어와있다.

2. External Libraries

External Libraries를 살펴보면 build.gradle 파일에 명시한 라이브러리들 외에도 수많은 라이브러리들이 들어있는 것을 볼 수 있다.

이런 라이브러리들은 왜 함께 받아졌을까?
gradle이나 maven과 같은 빌드 툴은 의존 관계를 관리해준다.
예를 들어 spring-boot-starter-web 라이브러리를 당겨올 때 해당 라이브러리에 필요한 라이브러리를 함께 받아온다.
하나의 라이브러리를 명시했다고 해도 라이브러리가 다른 라이브러리를 의존하고, 그 라이브러리가 또 다른 라이브러리를 의존하는 상호 의존 관계이기 때문이다.
즉, Gradle은 의존관계가 있는 라이브러리를 함께 다운로드한다.

3. 핵심 라이브러리

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

  • 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

2) 테스트 라이브러리

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

0개의 댓글