[Spring] Lombok 라이브러리

GWANSU SHIN·2022년 7월 25일
0

spring

목록 보기
6/7

Lombok

  • 최근에는 생성자를 딱 1개 두고, @Autowired 를 생략하는 방법을 주로 사용
  • Lombok 라이브러리의 @RequiredArgsConstructor 함께 사용하면 기능은 다 제공하면서, 코드는 깔끔하게 사용할 수 있음

기본 코드

@Component	
public class OrderServiceImpl implements OrderService {
	private final MemberRepository memberRepository;
	private final DiscountPolicy discountPolicy;
	
    @Autowired
	public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) {
		this.memberRepository = memberRepository;
		this.discountPolicy = discountPolicy;
	}
}

Lombok 라이브러리의 @RequiredArgsConstructor 사용 코드

@Component
@RequiredArgsConstructor
public class OrderServiceImpl implements OrderService {
	private final MemberRepository memberRepository;
	private final DiscountPolicy discountPolicy;
}

Lombok 적용 방법

  • build.gradle에 라이브러리 및 환경 추가
plugins {
	id 'org.springframework.boot' version '2.3.2.RELEASE'
	id 'io.spring.dependency-management' version '1.0.9.RELEASE'
	id 'java'
}
group = 'hello'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

//lombok 설정 추가 시작
configurations {
	compileOnly {
	extendsFrom annotationProcessor
	}
}
//lombok 설정 추가 끝

repositories {
	mavenCentral()
}
dependencies {
	implementation 'org.springframework.boot:spring-boot-starter'
    
	//lombok 라이브러리 추가 시작
	compileOnly 'org.projectlombok:lombok'
	annotationProcessor 'org.projectlombok:lombok'
	testCompileOnly 'org.projectlombok:lombok'
	testAnnotationProcessor 'org.projectlombok:lombok'
	//lombok 라이브러리 추가 끝
    
	testImplementation('org.springframework.boot:spring-boot-starter-test') {
	exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
 	}
}
test {
	useJUnitPlatform()
}
  1. Windows: File - Settings - 'plugin lombok' 검색 설치 실행 (재시작)
  2. File - Settings - 'Annotation Processors' 검색 'Enable annotation processing' 체크 (재시작)
  3. 임의의 테스트 클래스를 만들고 @Getter, @Setter 확인

Reference

[인프런] 스프링 핵심 원리 - 기본편

0개의 댓글