본문 바로가기
CSE/Spring

Lombok 라이브러리 - 생성자 자동 생성!

by RunningonEmpty 2021. 3. 3.

 

 

Lombok

더보기

Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.
Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.

 

어노테이션 한방이면 final 이 붙은 클래스의 생성자를 몽땅 생성해주는 착한 라이브러리다.

 

@RequiredArgsConstructor

더보기

어떠한 빈(Bean)에 생성자가 오직 하나만 있고, 생성자의 파라미터 타입이 빈으로 등록 가능한 존재라면 이 빈은 @Autowired 어노테이션 없이도 의존성 주입이 가능하다.

 

final 필드나 NotNull 필드에 대한 생성자를 만들어주는 어노테이션.

 

@Component
@RequiredArgsConstructor
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;
//    }

 

밑에 주석 처리된 생성자와 완전히 동일한 것을 만들어 줌.

 

 

@Getter, @Setter, @ToString

 

package yesol.core;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

@Getter
@Setter
@ToString

public class HelloLombok {

    private String name;
    private  int ahe;

    public static void main(String[] args){
        HelloLombok helloLombok = new HelloLombok();
        helloLombok.setName("hey");

        String name = helloLombok.getName();
        System.out.println("helloLombok = " + helloLombok);
    }
}

 

이렇게도 사용이 가능하다.

 

 

start.spring.io 에서 새로운 프로젝트 생성 시에 추가 가능하고, 아니라면 build.gradle 에서 추가해 주면 된다

 

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

 

dependencies 내부

 

	//lombok 라이브러리 추가 시작
	compileOnly 'org.projectlombok:lombok'
	annotationProcessor 'org.projectlombok:lombok'
	testCompileOnly 'org.projectlombok:lombok'
	testAnnotationProcessor 'org.projectlombok:lombok'
	//lombok 라이브러리 추가 끝

 

또한 lombok 사용을 위해서는

Annotation Precessors 를 활성화 시켜주어야 한다.

 

 

Preferences 에서 활성화 버튼 클릭 -끝-

반응형