반복적인 Getter/Setter, ToString과 같은 반복적인 자바 코드를 컴파일할 때 자동으로 생성해 주는 라이브러리입니다.
Lombok 라이브러리를 사용하면 반복적인 소스코드를 제거할 수 있으므로 코드를 좀 더 깔끔하게 짤 수 있습니다.
사용하실 때는 이클립스나, 인텔리제이에서 Lombok플러그인을 설치하시고 Lombok 의존성을 추가하셔야 사용하실 수 있습니다.
어노테이션 | 설명 |
@Getter/Setter | 코드를 컴파일할 때 속성들에 대한 Getter.Setter 메소드 생성 |
@ToString | toString() 메소드 생성 |
@ToString(exclude={" 변수명"}000) | 우너하지 않는 속성을 제외한 toString() 메소드 생성 |
@NonNull | 해당 변수가 null 체크,NullPointerException 예외 발생 |
@EqualsAndHashCode | equals()와hashCode() 메소드 생성 |
@Builder | 빌더 패턴을 이용한 객체 생성 |
@NoArgsConstructor | 파라미터가 없는 기본 생성자 생성 |
@AllArgsConstructor | 모든 속성에 대한 생성자 생성 |
@RequiredArgsconstructor | 초기화 되지않는 Final,@NonNull 어노테이션이 붙은 필드에 대한 생성자 생성 |
@Value | 불변(immutable) 클래스 생성 |
@Data | @ToString,@EqualsAndHashCode,@Getter @Setter,@RequiredArgsCinstructor를 합친 어노테이션 |
package com.example.SpringBoot;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
@Data
public class UserDTO {
private String name;
private int age;
}
package com.example.SpringBoot;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
@GetMapping(value = "/test")
public UserDTO test(){
UserDTO useDTO = new UserDTO();
useDTO.setName("cho");
useDTO.setAge(15);
return useDTO;
}
}