0.Lombok
반복적인 코드를 줄여주는 라이브러리
Annotation을 기반으로 Getter,Setter 와 같은 코드들을 작성하지않고 사용할수있도록만든다.
- @Getter, @Setter: Getter/Setter 자동 생성.
- @ToString: toString() 메서드 자동 생성.
- @EqualsAndHashCode: equals()와 hashCode() 자동 생성.
- @NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor: 다양한 형태의 생성자 자동 생성.
- @Data: 주요 메서드 (Getter, Setter, ToString, EqualsAndHashCode) 자동 생성.
- @Value: 불변 객체 생성.
- @Builder: 빌더 패턴 자동 생성.
- @Slf4j: 로그 객체 자동 생성.
- @SneakyThrows: 예외 자동 처리.
- @NonNull: 널 체크 자동 처리.
1.@Getter, @Setter
Getter와 Setter 메서드를 자동으로 생성
클래스 레벨에 붙이면 클래스의 모든 필드에 대해 Getter/Setter 메서드가 생성
2.@ToString
toString() 메서드를 자동으로 생성합니다.
3.@EqualsAndHashCode
equals()와 hashCode() 메서드를 자동으로 생성합니다.
이 메서드는 객체의 동등성 비교나 해시 테이블에서 키로 사용될 때 필요합니다.
4.@NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor
특정 프레임워크(예: JPA,)에서는 기본 생성자가 필요합니다.
이 경우 명시적으로 생성자를 정의하지 않으면 컴파일러가 자동으로 생성하지 않기 때문에 오류가 발생할 수 있습니다.
@NoArgsConstructor: 파라미터가 없는 기본 생성자를 생성합니다.
@AllArgsConstructor: 모든 필드를 파라미터로 받는 생성자를 생성합니다.
@RequiredArgsConstructor: final 필드나 @NonNull이 붙은 필드만을 파라미터로 받는 생성자를 생성합니다.
5.@Data
@Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor를 한 번에 묶어서 사용합니다.
6.@Value
불변 객체를 만들 때 사용합니다. 모든 필드를 final로 설정하고, Setter는 생성되지 않습니다.
7.@Builder
빌더 패턴을 쉽게 구현할 수 있도록 도와줍니다. 생성자 대신 빌더 패턴을 사용해 객체를 생성할 때 유용합니다.
8.@Slf4j
로그를 쉽게 사용할 수 있게 해줍니다. 이 어노테이션을 클래스에 붙이면 log 객체가 자동으로 생성되며, log.info(), log.debug() 등으로 로그를 출력할 수 있습니다.
9.@SneakyThrows
체크 예외를 자동으로 처리해주는 어노테이션입니다. 예외를 try-catch로 감싸지 않아도 Lombok이 자동으로 예외 처리를 해줍니다.
10.@NonNull
널 체크를 자동으로 해줍니다. 특정 필드나 파라미터에 대해 null 값이 들어오는 것을 방지하고, 자동으로 NullPointerException을 발생시킵니다.
'BackEnd > SpringBoot' 카테고리의 다른 글
[SpringBoot] DTO(Data Transfer Object)란? (0) | 2024.10.18 |
---|---|
[SpringBoot] swagger 란?, SpringBoot 연동 사용법 (0) | 2024.10.16 |
[SpringBoot] 경매장 엔터티 속성변경#3 (0) | 2024.10.13 |