david's daily developer note

[BE] SpringBoot 3.2.3 developer tools simple note 본문

[Develop] Web/Back-end

[BE] SpringBoot 3.2.3 developer tools simple note

mouse-david 2024. 3. 19. 23:55
728x90

SpringBoot Initializer에서 developer tools의 간단한 개념을 기록한다.
(SpringBoot 3.2.3)

GraalVM Native Support

Java코드를 네이티브 실행 파일인 바이너리로 미리 컴파일하는 기술이다. 최적화된 네이티브 실행 파일에는 런타임에 필요한 클래스, 표준 라이브러리, 런타임 요소, JDK과 정적 링크된 코드만 포함되어 실행 성능 증대하는 기술이다.
Spring Boot 버전3 이상 공식적으로 지원한다.

GraphQL

클라이언트에서 서버로 직접 쿼리를 전송하고 데이터를 받을 수 있다. GraphQL 서버는 단일 엔드포인트에서 모든 쿼리를 소화할 수 있으며, 실제 DB 형상과 동일한 데이터 모델을 스키마로 표현하면서 데이터 일관성을 보장할 수 있다.

Spring Boot DevTools

Spring Boot에서 제공하는 개발 편의성 도구이다. 주로 코드 변경을 감지해서 자동으로 재시작하는 기능등을 위하여 사용한다. 프론트 코드의 변경 감지로 화면이 갱신되거나, 엔티티 클래스에 필드가 추가될 때, H2 콘솔 업데이트 기능등이 있다.

Lombok

@로 시작하는 어노테이션을 사용할 수 있다. 반복적으로 작성하는 코드를 간결하게 표현해주고 코드 직관성을 높여준다.정말 편해서 필수옵션이다. (축약된 표현이므로 제대로 알고 쓸 필요가 있다.)

Spring Configuration Processor

프로퍼티 속성을 관리하는데 도움을 준다. 일단 프로퍼티 설정 값들이 자바 코드내에서 변수처럼 동작하므로 오류 및 경고를 확인하기 쉽고, 자동 완성 기능을 사용할 수 있기 때문에 편리하다. 

Docker Compose Support

컨테이너들을 실행시키는 도커 어플리케이션을 정의하고, 연결하는 것을 지원합니다. 일반적으로 DockerFile정의 .yml 서비스 구성, Compose 수행 (실행)의 순으로 진행하며, 모든 환경의 변수를 조작할 수 있습니다. 

Spring Modulith

Spring Framework 기반에서 논리적 모듈 개발을 지원합니다. 모듈화된 아키텍처의 장점인 확장성을 확보할 수 있도록 다양한 라이브러리를 지원합니다.  

728x90