03. 스프링부트 도구 설치하기
01. 스프링 부트 라이브러리 설치
웹 개발을 도와주는 스프링 부트의 도구(라이브러리)를 설치해보자
라이브러리 = 개발 시 자주 사용하는 코드를 모아 둔 것이라고 할 수 있다.
02 . Srping Boot Devtools 설치
스프링 부트 Devtools 라이브러리를 설치하면 서버를 매번 재시작 하지 않고도 수정한 내용이 반영된다.
* 보통은 서버코드를 수정할 경우 재시작을 하여야한다.
예시
01. 운영 중인 웹 서비스에서 코드를 변경
02. 코드 변경 후 웹 페이지 진입 시 변경사항이 적용되지 않음을 확인
Devtools 설치
01. 좌측 리스트에서 build.gradle에 진입 후 관련 Devtool 코드 삽입
developmentOnly 'org.springframework.boot:spring-boot-devtools'
02. Refresh Gradle Project 를 선택하여 새로고침
03.재실행을 통해 devtool 적용
04. 코드 변경 후 저장하면 재실행 없이 적용됨을 확인
03. Lombok(롬복) 설치
프로그램을 만들면서 게시물과 관련된 데이터를 처리하기 위해 엔티티 클래스나 DTO 클래스를 사용하여야 하는데
그러기 위해서는 먼저 클래스들의 속성값을 읽고 저장하는 Getter, Setter 메서드를 만들어야함
직접 작성해도 무방하나 롬복을 사용하면 짧고 깔끔한 소스 코드 생성이 가능
설치 과정
01. 설치 링크에서 롬복을 다운로드한다.
설치 링크 : https://projectlombok.org/download
02. 다운로드한 롬복.jar 의 경로를 복사
03. win + r 키를 누르고 cmd 진입
04. java -jar 명령어를 통해 롬복 설치 (cmd 창에서의 붙여넣기는 마우스 오른쪽 클릭)
05. 롬복 설치 화면이 출력되며 이전에 설치한 STS가 설치된 경로를 탐색한다.
*스캔이 끝나도 경로를 찾지 못할 시 Specify location을 통해 경로를 지정해준다.
06. 설치 성공
07. STS 를 재실행 하고 build.gradle 파일 수정
을 해야하는데 STS 종료 후 다시 실행이 되지 않는다.
SpringToolSuite4.ini 파일에서 맨 마지막 줄의 lombok의 경로를 삭제하니 다시 실행이 되긴 하는데..
해결법
.ini 파일에 --add-opens 플래그를 추가하여 Java 내부 모듈 접근을 허용하세요.
경로에 한글이 있으면 영어 경로로 변경하거나 상대 경로를 사용하세요. Lombok 버전이 Java 24를 지원하더라도 IDE 설정이 필요합니다.
라는 의견을 받았다 (grok)
01. STS 설치경로의 ini 파일을 실행하여 -vmargs 부분과 -javaagent 부분을 수정한다.
-vmargs 부분에 아래 두줄 추가
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
-javaagent 부분의 lombok.jar 경로를 상대경로로 변경
변경 전 : -javaagent:C:\Users\rkekw\Desktop\프로젝트\개인 프로젝트\2025-08-29 스프링부트 공부\01.환경 구축\02. STS - sts-4.31.0.RELEASE\lombok.jar
변경 후 : -javaagent:lombok.jar
위의 두가지 항목을 변경해주면 정상적으로 실행이 가능하다.
Lombok 설치 확인
01. com.example.demo 에서 클래스를 생성해준다.
02. 테스트용 코드를 넣고 실행한다.
package com.example.demo;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class HelloLombok {
private String hello;
private int lombok;
public static void main(String[] args) {
HelloLombok helloLombok = new HelloLombok();
helloLombok.setHello("헬로");
helloLombok.setLombok(5);
System.out.println(helloLombok.getHello());
System.out.println(helloLombok.getLombok());
}
}
오류 없이 정상적으로 실행됨을 확인
*Lombok이 설치되지 않으면 실행되지 않는 코드
Lombok을 사용하지 않았을 때의 코드
package com.example.demo;
public class HelloLombok {
private String hello;
private int lombok;
public void setHello(String hello) {
this.hello = hello;
}
public void setLombok(int lombok) {
this.lombok = lombok;
}
public String getHello() {
return this.hello;
}
public int getLombok() {
return this.lombok;
}
public static void main(String[] args) {
HelloLombok helloLombok = new HelloLombok();
helloLombok.setHello("헬로");
helloLombok.setLombok(5);
System.out.println(helloLombok.getHello());
System.out.println(helloLombok.getLombok());
}
}
Lombok을 사용했을 때의 코드
package com.mysite.sbb;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor
@Getter
public class HelloLombok {
private final String hello;
private final int lombok;
public static void main(String[] args) {
HelloLombok helloLombok = new HelloLombok("헬로", 5);
System.out.println(helloLombok.getHello());
System.out.println(helloLombok.getLombok());
}
}
@Getter 와 RequiredArgsConstructor 어노테이션을 통해 코드를 간략하게 만들 수 있다.
@Getter - 선언한 변수를 가져오는 getter 메서드를 작성하지 않아도 컴파일 단계에서 처리
@RequiredArgsConstructor - 해당 속성을 필요로하는 생성자가 롬복에 의해 자동으로 생성











