본문 바로가기

Dev/Spring Boot

Spring boot - lombok 라이브러리, builder

728x90

Lombok 라이브러리에는 아주 유용한 기능들을 가지고 있다.
이클립스를 사용해 STS를 사용하는 사람들은 따로 설치를 해줘야 하지만 인텔리제이를 사용하는 사람들은 pom.xml에 추가만 해놓으면 된다.

1. @Data

이걸 보면 원래 자바 유저들은 "getter setter도 없는 그냥 빈 클래스군" 하겠지만 저 위의 @Data 는 getter setter가 숨겨져있는 것이다. 보다시피 getId를 사용할 수 있다.

2. @NoArgConstructor

이름부터 알 수 있듯이 인수가 없는 생성자가 생성된다.

3. @Builder
원래

원래 이 클래스를 생성하고 싶을 땐 id, username, password, email 모두 적어줘야한다.
만약 id를 빼고 생성하고 싶다면 오버로딩을 통해 하나의 생성자를 더 만들어야할 것이다. 그러나 빌더를 사용하면

이런 식으로 한개를 빼고 생성할 수 있다 마치 오버로딩한 것 처럼!
매우 유용하게 사용할 수 있다. 또 멤버변수가 많으면 생성시 순서를 정확히 맞춰줘야한다. 그러나 lombok의 빌더를 사용하면 순서 상관없이 생각나는대로 추가가 가능하다. 그리고 위와 같은 형식을 빌더패턴이라한다.