Lombok이란?
VO, DTO, Entity 등을 쉽게 작성할 수 있도록 도와주는 라이브러리.
코드를 깔끔하게 작성할 수 있어 가독성이 좋아진다.
하지만 제대로 알지 못한채 사용하게 되면 예상치 못한 문제가 발생할 수 있다.
@Getter @Setter
자동으로 get, set 메소드를 생성해준다.
기본적으로 public으로 생성된다.
AccessLevel 옵션을 사용하여 접근권한 설정을 달리해줄 수 있다.
@NoArgsConstructor
파라미터가 없는 기본 생성자를 만들어준다.
이 역시 AccessLevel 옵션을 사용하여 접근권한 설정을 달리해줄 수 있다.
이 때 PROTECTED로 설정하여 안전성을 보장해주자.
예) access = AccessLevel.PROTECTED
@Tostring
tostring()메소드를 자동으로 생성해준다.
exclude를 사용해 특정 필드는 빼고 실행되도록 할 수도 있다.
callSuper값을 true로 설정하게 되면 상속받은 클래스의 정보도 출력된다.
따라서 Token 값이나 비밀번호와 같은 민감한 정보를 exclude로 제외해줄 수 있다.
@EqualsAndHashCode
빈 생성 시 equals와 hashCode 메소드를 자동으로 오버라이딩 해준다.
@Data
@Getter, @Setter, @RequiredArgsConstructor, @ToString, @EqualsAndHashCode를 한꺼번에 설정해주는 어노테이션.
하지만 되도록 지양해서 사용하자.
@Builder
빌더 패턴을 사용할 수 있도록 코드를 생성해준다.
클래스 보단 직접 만든 생성자나 static 객체생성 메소드에 붙이는 것을 권장한다.
@Syncronized
메소드에서 동기화를 설정할 수 있다.
'# 1. Language > ☕ Java' 카테고리의 다른 글
SpringBoot # Controller-Service-DAO-mapper.xml (0) | 2021.09.17 |
---|---|
JPA의 Entity와 Repository (0) | 2021.09.16 |
Java # zulu란? / zulu 다운로드 방법 (0) | 2021.08.31 |
Java Eclipse 단축키 (0) | 2021.08.26 |
공통 프로젝트 # 사용했던 프로그램들의 버전 (0) | 2021.08.22 |