Spring Boot DevTools
개발자의 생산성을 높여주는 모듈로,
코드 변경 시 자동으로 애플리케이션을 재시작하거나 리로드하는 기능을 제공한다.
또한 브라우저에서 캐시되지 않은 정적 자원을 제공하는 등의 기능도 포함하고 있다.
자세한 정보 : mgyo.tistory.com
Lombok
자바 코드를 작성할 때 반복적으로 작성해야 하는 getter, setter, toString, equals, hashCode 등의 메소드를 자동으로 생성해주는 라이브러리.
코드의 가독성과 생산성을 높일 수 있다.
자세한 정보 : dololak.tistory.com
Slf4j
Lombok에서 지원하는 라이브러리!
로그를 사용하기 쉽게 해준다.
Spring Web
스프링 부트 애플리케이션에서 웹 애플리케이션을 개발할 때 사용하는 모듈.
이 모듈은 Spring MVC와 함께 웹 서비스 개발을 위한 기능들을 제공한다.
또한, RESTful 웹 서비스를 쉽게 구현할 수 있도록 도와주며, 스프링의 기본적인 웹 기능을 활용할 수 있게 해준다.
Rest Repositories
관련 정보 : docs.spring.io/spring-data/rest
Rest Repositories HAL Explorer
Spring Initializr의 Dependencies추가로 할 수 없는 Querydsl 추가하기 (Spring Boot 3.0.6 실행 확인)
보고 배운 곳 : github.com/djkeh
// queryDSL 선언부 ----------------------------------------------------------------------------------------------------------------------------------------------------
// 버전이 끝에 붙으면 생략하여 버전관리를 spring에게 맡길 수 있지만, 중간에 나오는경우 불가능하다. 그래서 아래줄과 같이 추가 코딩을 해줌
implementation "com.querydsl:querydsl-jpa:${dependencyManagement.importedProperties['querydsl.version']}:jakarta"
implementation "com.querydsl:querydsl-core"
implementation "com.querydsl:querydsl-collections"
annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" // querydsl JPAAnnotationProcessor 사용 지정
annotationProcessor "jakarta.annotation:jakarta.annotation-api" // java.lang.NoClassDefFoundError (javax.annotation.Generated) 대응 코드
annotationProcessor "jakarta.persistence:jakarta.persistence-api" // java.lang.NoClassDefFoundError (javax.annotation.Entity) 대응 코드
// ---------------------------------------------------------------------------------------------------------------------------------------------------- queryDSL 선언부
// Querydsl 설정부 : build 디렉토리 안에 생길 Q 파일을 src/main에 generated를 생성하고 그 안에 만들도록 설정
def generated = 'src/main/generated'
// querydsl QClass 파일 생성 위치를 지정
tasks.withType(JavaCompile).configureEach {
options.getGeneratedSourceOutputDirectory().set(file(generated))
}
// java source set 에 querydsl QClass 위치 추가
sourceSets {
main.java.srcDirs += [ generated ]
}
// gradle clean 시에 QClass 디렉토리 삭제
clean {
delete file(generated)
}