250x250
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
| 29 | 30 | 31 |
Tags
- 파이썬 리스트 메서드
- 파이썬
- getreference
- java
- 딕셔너리
- 어플리케이션 클래스 로더
- python
- python list method
- 스프링
- 컴포넌트 스캔
- 클래스 로더 계층
- 코딩테스트
- 자료구조
- aws saa-c03
- stop the world
- dfs
- Spring
- 백준
- 심볼릭 레퍼런스
- 2026 AWS SAA-C03
- 자바
- 부트스트랩 클래스 로더
- 파이썬 문자열 메서드
- BFS
- 스프링 컨테이너
- 다이렉트 레퍼런스
- 객체지향
- 알고리즘
- AWS SAA-C03 합격후기
- 플랫폼 클래스 로더
Archives
- Today
- Total
클라우드 낚시꾼
[Spring] Lombok(롬복) 사용하기 (@RequiredArgsConstructor) 본문
BE Framework/SpringBasic
[Spring] Lombok(롬복) 사용하기 (@RequiredArgsConstructor)
KanuBang 2024. 3. 19. 13:31728x90
1. 대부분 모든 것은 불변이다
막상 개발을 해보면, 대부분이 다 불변이라고 한다.(아직 나는 초보라서 100% 공감이 가지 않는다 😂😂) 그렇기에 필드에 final 키워드를 사용하게 된다. 이를 위해 개발자는 생성자도 만들어야 하고, 주입 받은 값을 대입하는 코드도 만들어야 한다. 약간 번거로운 이 과정을 더 쉽게 처리해주는 무언가가 있으면 좋겠다.
2. Lombok 라이브러리

롬복 라이브러리가 제공하는 @RequiredArgsConstructor 기능을 사용하면 final이 붙은 필드를 모아서 생성자를 자동으로 만들어준다.
왼쪽은 롬복 라이브러리를 사용하기 전의 코드이고 오른쪽은 롬복 라이브러리의 @RequiredArgsConstructor을 사용한 코드이다. 코드가 훨씬 간결한 것이 느껴진다.
3. Lombok 라이브러리 사용하기
#1 Lombok plugin을 설치하자

lombok plugin을 설치하고 재시작하자. 자세한 lombok plugin 설치 과정은 아래를 참고하자.

#2 build.gradle에 라이브러리 및 환경 추가
아래는 build.gradle에서 주석 처리된 부분을 추가하자. 추가한 후 build.gradle 꼭 재실행 하자.
plugins {
id 'java'
id 'org.springframework.boot' version '3.2.3'
id 'io.spring.dependency-management' version '1.1.4'
}
group = 'hello'
version = '0.0.1-SNAPSHOT'
//lombok 설정 추가 시작
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
//lombok 설정 추가 끝
repositories {
mavenCentral()
}
java {
sourceCompatibility = '17'
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
//lombok 라이브러리 추가 시작
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
//lombok 라이브러리 추가 끝
}
tasks.named('test') {
useJUnitPlatform()
}
728x90
'BE Framework > SpringBasic' 카테고리의 다른 글
| [Spring] 스프링 빈 생명주기 콜백 (0) | 2024.03.25 |
|---|---|
| [Spring] @Autowired 필드명, @Qualifier, @Primary (0) | 2024.03.19 |
| [Spring] @Autowired(required)와 의존관계 주입 방법 (0) | 2024.03.18 |
| [Spring] 컴포넌트 스캔: 탐색 위치와 기본 스캔 대상 & 필터 (0) | 2024.03.16 |
| [Spring] 컴포넌트 스캔과 스프링 빈 자동 주입 (0) | 2024.03.16 |