본문 바로가기
기타/백엔드 기초

스트링부트 | Spring Boot Devtools, Live Reload, Lombok 사용법 및 설치 방법

by YUNI Heo 2023. 5. 2.
반응형

 

✅ 스트링부트 도구

💡 Spring Boot Devtools

Spring Boot 애플리케이션 개발에 매우 유용한 다양한 기능을 제공한다.

 

  • 자동 재시작 기능: 애플리케이션의 코드나 설정 파일이 변경될 때마다 자동으로 애플리케이션을 재시작하여 변경 사항을 확인한다.
  • 라이브 리로드 기능: 브라우저에서 애플리케이션을 다시 로드할 수 있는 LiveReload 기능을 제공하여 변경 사항을 실시간으로 확인한다.
  • 클래스 패스 변경 감지 기능: 새로운 클래스나 리소스를 추가하거나 수정하는 등의 작업을 할 때마다 애플리케이션을 재시작하지 않아도 된다.
  • 자동 구성 기능: 자동 구성 문제나 클래스 패스 충돌 문제를 해결한다.
  • 개발 환경과 운영 환경 분리 기능: 개발 환경에서만 사용되도록 설계되어 운영 환경에서는 비활성화할 수 있다.

Spring Boot Devtools를 사용하기 위해서는 그레이들(Gradle)로 설치해야 한다.


  • build.gradle 파일 수정: 프로젝트의 build.gradle 파일을 열고, dependencies 항목에 다음 코드를 추가한다.
  • developmentOnly
    • Gradle의 developmentOnly는 개발환경에만 적용되는 설정이다.
    • 운영환경에 배포되는 jar, war 파일에는 developmentOnly로 설치된 라이브러리는 제외된다.
dependencies {
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    // 다른 의존성
}

  • Gradle 프로젝트 새로고침: build.gradle 파일을 수정한 후 Gradle 프로젝트를 반드시 새로고침 한다. 
    • 프로젝트 파일에서 마우스 오른쪽 버튼을 클릭하고, [Gradle -> Refresh Gradle Project]를 선택한다.

  • DevTools 적용: Gradle 프로젝트를 새로고침한 후, DevTools를 사용할 수 있다.
  • 애플리케이션을 실행하고 코드나 설정 파일을 변경하면 자동으로 재시작되며, LiveReload 기능도 함께 동작한다.

 

💡 Live Reload

브라우저를 새로고침하지 않고도 변경 사항을 즉시 확인할 수 있다.


크롬 브라우저에서 LiveReload++ 확장 프로그램을 설치해야 한다. 

 


 

LiveReload++

Watches a port and reloads the page if needed.

chrome.google.com


  • 확장 프로그램 활성화: 크롬 브라우저에서 "메뉴" 버튼(세로로 된 점 3개)을 클릭하고, "확장 프로그램"을 선택한다. 

 

💡 롬복 Lombok

자바 클래스의 Getter, Setter, 생성자 등을 자동으로 생성하는 도구이다.

  • @Getter 애너테이션: 자동으로 해당 필드의 getter 메서드를 생성한다.
  • @Setter 애너테이션: 자동으로 해당 필드의 setter 메서드를 생성한다.
  • @RequiredArgsConstructor 애너테이션: 해당 클래스의 생성자를 자동으로 생성한다.

 

Download

 

projectlombok.org


  • STS 경로 선택: "Specify location" 버튼을 클릭하고, 다운로드한 Lombok 플러그인을 사용할 IDE인 STS(이클립스)가 설치된 경로를 선택한다.

  • Lombok 설치: "Install / Update" 버튼을 클릭하여 Lombok 플러그인을 설치한다.
  • 설치 프로그램을 종료: 설치가 완료되면 "Quit Installer" 버튼을 클릭하여 설치 프로그램을 종료한다.

  • build.gradle 파일 수정: 프로젝트의 build.gradle 파일을 열고, dependencies 항목에 다음 코드를 추가한다.
    • compileOnly: 해당 라이브러리가 컴파일 단계에서만 필요한 경우에 사용한다.
    • annotationProcessor: 컴파일 단계에서 애너테이션을 분석하고 처리하기 위하여 사용한다.
dependencies {
    // 다른 의존성
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
}

  • Gradle 프로젝트 새로고침: build.gradle 파일을 수정한 후 Gradle 프로젝트를 반드시 새로고침 한다. 
    • 프로젝트 파일에서 마우스 오른쪽 버튼을 클릭하고, [Gradle -> Refresh Gradle Project]를 선택한다.

HelloLombok 클래스 작성: Lombok을 사용하여 HelloLombok 클래스를 작성한다.

package com.mysite.sbb;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
@Getter
public class HelloLombok {

    private final String hello; // final을 적용하여 Setter가 자동으로 생성되지 않음
    private final int lombok; // final을 적용하여 Setter가 자동으로 생성되지 않음
    
   // public HelloLombok(String hello, int lombok) {
   // this.hello = hello;
   // this.lombok = lombok;
   // }

    public static void main(String[] args) {
        HelloLombok helloLombok = new HelloLombok("헬로", 5); // 생성자가 자동으로 생성
        System.out.println(helloLombok.getHello()); // Getter가 자동으로 생성
        System.out.println(helloLombok.getLombok()); // Getter가 자동으로 생성
    }
}
반응형