관리 메뉴

공부 기록장 💻

[Spring] Lombok 라이브러리 적용하기(@RequiredArgsConstructor, @Getter,@Setter, @Tostring) 본문

# Tech Studies/Java Spring • Boot

[Spring] Lombok 라이브러리 적용하기(@RequiredArgsConstructor, @Getter,@Setter, @Tostring)

dream_for 2023. 2. 3. 17:50

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


생성자와 Getter, Setter 등 작성해야 하는 코드를 간결하게 줄여주는 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.

롬복은 Java 라이브러리로 반복되는 getter, setter, toString 등의 메서드 작성 코드를 줄여주는 라이브러리이다. 

보통 Model이나 Entity와 같은 도메인 클래스에 멤버 변수가 많이 포함되어 있고, 이에 대응하는 getter, setter 를 일일히 작성해 줘야 할 때가 많다. Lombk 라이브러리는, 어노테이션 하나만으로 이를 컴파일 과정에서 생성해주는 방식으로 동작하는 라이브러리이다.

롬복 라이브러리

build.gradle 에서 다음과 같이 configurations과 dependencies 부분에 추가를 해주자.


위의 라이브러리 의존성들을 다운 받은 후에,
1. settings -> plugin 에서 Lombok을 검색하여 설치 실행을 하고,
2. settings의 build, execution and deployment > compiler 에서 annotation processor 을 검색하여 enable annotation processing 을 클릭하여 어노테이션 프로세싱을 허용하도록 하자.



이제 getter, setter, toString 메서드와 일부 생성자에 대하여, @Getter, @Setter , @ToString애노테이션만 명시해주면, 따로 메서드 작성하지 않아도 바로 사용이 가능하다.

@RequiredArgsConstructor

@RequiredArgsConstructor은 final 키워드가 붙은 필드들에 대하여 자동으로 생성자를 만들어어주는 애노테이션이다. 생성자가 한 개인 경우에는, 역시나 @Autowired를 따로 사용하지 않아도 된다.


@Getter, @Setter, @ToString

@Getter, @Setter 애노테이션을 추가하면 클래스의 모든 멤버 변수들에 대한 getXx(), setXx() 메서드를 자동으로 추가해준다.

다음과 같이 멤버 변수가 3개만 있음에도, 작성해야 할 getter, setter 메서드가 벌써 6개이다.


@Getter, @Setter을 사용하면 다음과 같이 확연히 클래스의 길이가 줄어든 것을 확인할 수 있다.


이번에는 Order 클래스에 lombok을 추가해보자.


적용한 @ToString을 확인해보면 다음과 같다. Order을 출력했을 때, 다음과 같은 형태로 멤버 변수들의 정보를 자동적으로 출력해주는 역할을 한다.

728x90
반응형
Comments