반응형
lombok
- Maven
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
사실 lombok하면 Dao 객체에 코드 줄이는 용도로만 주로 사용했습니다.
그러다 해외에 java에 관련하여 자세히 정리되어 있는 웹페이지를 접하고 새로운 내용들을 조금씩 접하다 자료 정리겸 글을 적습니다.
- Getter/Setter
- @Data
클래스 상단에 써서 파라미터들을 getter 혹은 setter를 생략하고 사용할 수 있게 해줍니다. - @NonNull
파라미터 앞에 써주면 해당 파라미터를 선언시에 Null이 주입되면 NullPointerException이 발생됩니다.
- @Data
- Constructor
- @NoArgsConstructor
미리 선언된 비어있는 생성자를 선언하고 생성하는 것과 동일하게 동작됩니다. - @AllArgsConstructor
앞선 어노테이션의 반대로 getter, setter가 적용되는 모든 파라미터를 요구하는 생성자를 선언 없이 생성 할 수 있습니다. - @Builder
만약에 파라미터가 7~8개만 되더라도 소괄호 안에 무엇부터 넣어야 할지 까먹는 경우가 부지기수일텐데요. 이럴때 파라미터 주입등의 실수를 막아줄때 많이 사용 됩니다.
- @NoArgsConstructor
- 예제 코드
//-------------- new로 객체 생성 ------------------
@Data
@NoArgsConstructor
@AllArgsConstructor
public User {
private String name;
private String address;
pirvate String id;
}
User user = new User(); //@NoArgsConstructor
User user = new User("말라뮤트", "서울", "Mala"); //@AllArgsConstructor
//---------------- Builder로 객체 생성 ----------------
@Data
@Builder
public User {
@NonNull private String name;
private String address;
pirvate String id;
}
User user = User.builder() // @Builder 아래 값들 중에 @NonNull이 선언되지 않으면 옵션값이 됩니다.
.name("보더콜리") // @NonNull이 선언되어 있으면 Null을 제외한 값을 넣어주세요.
.address("경기도")
.id("Coli")
.build();
반응형
'Java > Library' 카테고리의 다른 글
[Lombok] @AllArgsConstructor와 @RequiredArgsConstructor 차이점을 알아보자 (0) | 2022.08.07 |
---|---|
[String] Array String으로 변환하기 (0) | 2022.03.18 |
lombok #2 [Lazy Getter] (0) | 2020.07.03 |