자주쓰이는 Lombok 어노테이션
👉 Lombok
- Java에서 자주 반복되는 코드들을 어노테이션을 통해 자동으로 생성 해 주는 라이브러리
@AllArgsConstructor
- 클래스에 존재하는 모든 필드에 대한 생성자를 자동으로 생성
(final 키워드, 혹은 @NonNull 이 붙은 멤버 변수만을 받는 생성자를 만들어줌)
@NoArgsConstructor
- 파라미터를 받지 않는 생성자를자동으로 생성
(필드들이 final로 생성되어 있는 경우에는 필드를 초기화할 수 없기 때문에 에러 발생)
@RequriedArgsConstructor
- 초기화 되지 않은 모든 final 필드, @NonNull과 같이 제약조건이 설정되어있는 모든 필드들에 대한 생성자를 자동으로 생성
@Builder
- 빌더패턴을 적용 시킨 방법으로 객체를 생성.
@Data = @RequiredArgsConstructor + @Getter + @Setter + @ToString + @EqualsAndHashCode
- (@Data 대신, @Getter, @Setter, @ToString으로 명시하는 것을 권장한다.)
@NonNull Null
- 값이 될 수 없다는 것을 명시 / NullPointerException에 대한 대비책
@Cleanup
- 자동으로 close() 메소드를 호출.
@ToString
- toString() 메소드를 생성 / @ToString(exclude={"제외할 값"}) 처럼 원하지 않는 속성은 제외할 수 있다.
@EqualsAndHashCode
- 해당 객체의 equals()와 hashCode() 메소드를 생성.
@Value
- 불변 클래스를 생성할 때 사용합니다.
@SneakyThrows
- 예외 발생 시 Throwable 타입으로 반환.
@Syncronized
- 메소드에서 동기화를 설정
🙋♂️ 소감 :
롬복을 사용하면 코드들이 많이 다이어트가 된다.@Data 같은 경우는 setter 의 무분별한 사용 및 toString의 무한루프가 생길 수가 있어 지양한다.
😈 아는 내용이라고 그냥 넘어가지 않기! 😈
'❤️🔥TIL (Today I Learned)' 카테고리의 다른 글
[TIL] 2022-12-22(39day) (0) | 2022.12.22 |
---|---|
[TIL] 2022-12-21(38day) (0) | 2022.12.21 |
[TIL] 2022-12-19(36day) (0) | 2022.12.19 |
[TIL] 2022-12-15(35day) (0) | 2022.12.18 |
[TIL] 2022-12-14(34day) (0) | 2022.12.15 |
댓글