Memo/짧은 메모
[Spring] build.gradle 정리
생각없이 해도 생각보다 좋다.
2022. 11. 14. 20:12
//Spring Boot 기본값
implementation 'org.springframework.boot:spring-boot-starter'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
//Spring Web
implementation 'org.springframework.boot:spring-boot-starter-web'
//Lombok
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
//Validation
: Spring Boot에서 지원하는 Starter
implementation 'org.springframework.boot:spring-boot-starter-validation'
//MapStruct
: https://mapstruct.org/ (documentation 참고)
implementation 'org.mapstruct:mapstruct:1.4.2.Final'
annotationProcessor 'org.mapstruct:mapstruct-processor:1.4.2.Final'
//Spring Data JDBC
: Spring Boot에서 지원하는 Starter
implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
//In-memory Database H2
: https://www.h2database.com/html/main.html (와 Html 페이지;)
: 추가로 .yml 파일에서 활성화 설정이 필요함.
runtimeOnly 'com.h2database:h2'
//Spring Data JPA
: Spring Boot에서 지원하는 Starter
: 추가로 .yml 파일에 설정을 해줄 수 있음(예시. 로그)
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
//Gson 라이브러리
implementation 'com.google.code.gson:gson'
//JavaMailSender
: 이메일 발송 라이브러리 (Java mail)
implementation 'org.springframework.boot:spring-boot-starter-mail'
//Spring Rest Docs
(1) `spring-restdocs-core`와 `spring-restdocs-mockmvc` 라이브러리 추가
testImplementation 'org.springframework.restdocs:spring-restdocs-mockmvc'
(2) `spring-restdocs-asciidoctor` 라이브러리 추가
asciidoctorExtensions 'org.springframework.restdocs:spring-restdocs-asciidoctor'
+a : 추가적인 설정이 많음. 따로 작성
https://hso8706.tistory.com/245
//jjwt 라이브러리 (JWT)
implementation 'io.jsonwebtoken:jjwt-api:0.11.5'
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.5'
runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.11.5'
//Apache HttpComponents (Rest Template)
: 여러 Backend Server 끼리 Client - Sever 관계를 이룰때, Client의 입장이 되는 sever를 간편하게 Rest Clinet로 사용할 수 있게 도와주는 Template(API).
: 예를 들면, `결제 서비스` 혹은 `메시징 서비스`와 같은 기능을 구현하기 위해서 외부 API, 즉 타 애플리케이션의 서버를 사용할 때 rest template을 사용할 수 있다.
implementation 'org.apache.httpcomponents:httpclient'