일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- git사용자등록
- White HAT
- sql연결
- useLocation
- GA4
- 구글애널리틱스
- Thymeleaf
- URLSearchParams
- firebase
- Polylang
- 플러그인
- 구글
- router
- mysql-select
- 리액트오류
- 데이터베이스
- web-vitals
- 리액트오류해결
- 구글바드
- useNavigate
- PostView
- 워드프레스
- SEO
- ChatGPT
- useEffect
- path variable
- 구글알고리즘
- wp_post
- 조건판단문
- 중첩라우팅
- Today
- Total
개발천재
[Spring Boot] Lombok 추가하기 본문
Lombok 이해하기
Lombok은 자바 코드에서 반복되는 메서드(Getter, Setter, 생성자 등)를 자동으로 생성해 주는 라이브러리다. 예를 들어, @Getter와 @Setter를 붙이면 getName()이나 setAge() 같은 메서드를 직접 작성하지 않아도 자동으로 만들어 준다. @NoArgsConstructor나 @AllArgsConstructor를 사용하면 기본 생성자나 모든 필드를 포함한 생성자도 자동 생성된다. 또한 @Builder를 활용하면 객체를 쉽게 만들 수 있다. 즉, Lombok을 사용하면 코드가 짧아지고 가독성이 좋아져서 유지보수가 훨씬 편해진다.
[ Lombok 주요 장점 ]
- 코드 가독성이 향상됨
- 반복적인 코드 작성을 줄여서 생산성이 증가
- 유지보수가 쉬워짐
Lombok 주요 어노테이션 정리
어노테이션 | 기능 |
@Getter / @Setter | Getter & Setter 자동 생성 |
@NoArgsConstructor | 기본 생성자 자동 생성 |
@AllArgsConstructor | 모든 필드 포함 생성자 생성 |
@RequiredArgsConstructor | final 필드 포함 생성자 생성 |
@ToString | toString() 자동 생성 |
@EqualsAndHashCode | equals() 및 hashCode() 자동 생성 |
@Data | Getter, Setter, ToString, EqualsAndHashCode, RequiredArgsConstructor 포함 |
@Builder | 빌더 패턴 지원 |
@Getter, @Setter
(Getter/Setter 자동 생성), user.getName(), user.setAge(25) 자동 생성된다.
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class User {
private String name;
private int age;
}
@NoArgsConstructor, @AllArgsConstructor
생성자를 자동으로 생성해주는 어노테이션이다.
@NoArgsConstructor는 기본 생성자를 생성해주고, @AllArgsConstructor는 모든 필드를 포함한 생성자를 생성해준다.
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
@NoArgsConstructor // 기본 생성자 생성
@AllArgsConstructor // 모든 필드를 포함한 생성자 생성
public class User {
private String name;
private int age;
}
@RequiredArgsConstructor (필수 필드 생성자)
import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor
public class User {
private final String name;
private int age; // 제외됨
}
final 필드만 포함하는 생성자가 자동 생성된다.
new User("Alice"); // new User(name) 생성 가능
@ToString (toString() 자동 생성)
System.out.println(user); 호출 시 User(name=Alice, age=25) 자동으로 출력된다.
import lombok.ToString;
@ToString
public class User {
private String name;
private int age;
}
@EqualsAndHashCode (equals() & hashCode() 자동 생성)
객체 비교 시 equals()와 hashCode() 자동으로 생성된다.
import lombok.EqualsAndHashCode;
@EqualsAndHashCode
public class User {
private String name;
private int age;
}
@Data (모든 기능 포함)
@Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor를 자동으로 생성한다.
import lombok.Data;
@Data
public class User {
private String name;
private int age;
}
@Builder (빌더 패턴 지원)
import lombok.Builder;
@Builder
public class User {
private String name;
private int age;
}
객체 생성
User user = User.builder()
.name("Alice")
.age(25)
.build();
인텔리제이에 Lombok 추가하기
먼저 Dependencies를 추가한다. spring.io에 접속하여 [ADD DEPENDENCIES] 클릭하여 Lombok 선택하고 하단의 EXPLORE 버튼을 클릭한다.
build.gradle에 dependencies에서 lombok에 해당하는 코드를 복사한다.
해당 프로젝트의 build.gradle 파일에 복사한 코드를 붙여넣는다.
인텔리제이에서 Settings > Plugins에 가서 Lombok을 설치한다.
'개발 준비 > Spring Boot' 카테고리의 다른 글
[Spring Boot] Thymeleaf 개념 이해하기, 사용방법 (9) | 2025.02.11 |
---|---|
[Spring Boot] Git에 Push 하기(인텔리제이) (0) | 2025.02.10 |
[Spring Boot] Thymeleat를 이용한 구구단 만들기 (0) | 2025.02.10 |
[Spring Boot] Annotation 개념 이해하기, 주요 어노테이션 (0) | 2025.02.10 |
[Spring Boot] 기초 개념 익히기, 역사와 배워야 하는 이유 (0) | 2025.02.07 |