클라우드 낚시꾼

[Spring] Lombok(롬복) 사용하기 (@RequiredArgsConstructor) 본문

BE Framework/SpringBasic

[Spring] Lombok(롬복) 사용하기 (@RequiredArgsConstructor)

KanuBang 2024. 3. 19. 13:31
728x90

1. 대부분 모든 것은 불변이다

막상 개발을 해보면, 대부분이 다 불변이라고 한다.(아직 나는 초보라서 100% 공감이 가지 않는다 😂😂) 그렇기에 필드에 final 키워드를 사용하게 된다. 이를 위해 개발자는 생성자도 만들어야 하고, 주입 받은 값을 대입하는 코드도 만들어야 한다. 약간 번거로운 이 과정을 더 쉽게 처리해주는 무언가가 있으면 좋겠다.


2. Lombok 라이브러리

Lombok 라이브러리를 사용하기 전과 후

 

롬복 라이브러리가 제공하는 @RequiredArgsConstructor 기능을 사용하면 final이 붙은 필드를 모아서 생성자를 자동으로 만들어준다.

왼쪽은 롬복 라이브러리를 사용하기 전의 코드이고 오른쪽은 롬복 라이브러리의 @RequiredArgsConstructor을 사용한 코드이다. 코드가 훨씬 간결한 것이 느껴진다.


3. Lombok 라이브러리 사용하기 

#1 Lombok plugin을 설치하자

lombok plugin

 

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

lombok 설치, 실행, 재시작

 

#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