Spring
[Spring] Lombok
로아다
2023. 7. 4. 16:29
728x90
반응형
Lombok
- 간단한 어노테이션 추가로 자바빈 스타일의 객체를 자동으로 완성해주는 라이브러리
Lombok의 어노테이션들
@Getter
- 클래스 위에 붙이면 모든 필드에 대한 Getter를 자동으로 생성한다.
- 필드 위에 붙이면 해당 필드에만 Getter를 생성한다.
@Setter
- 클래스 위에 붙이면 모든 필드에 대한 Setter를 자동으로 생성한다.
- 필드 위에 붙이면 해당 필드에만 Setter를 생성한다.
@ToString
- 해당 클래스의 toString()을 알아서 적당히 구현해준다.
@NoArgsConstructor
- 기본 생성자를 생성한다.
@AllArgsConstructor
- 모든 필드값을 초기화해야 하는 생성자를 생성한다.
@RequiredArgsConstructor
- 필수로 채워야하는 필드만 초기화하는 생성자를 생성한다.
- @NonNull이 붙어있는 필드를 필수로 채워야하는 필드로 간주한다.
@Date
- @Getter
- @Setter
- @ToString
- @EqualsAndHashCode
- @RequiredArgsConstructor를 모두 합친 어노테이션
예시
package com.ezen.springmvc.model;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import lombok.ToString;
// 롬복이 Getter, Setter, 생성자, toString 등을 모두 자동으로 생성해준다.
@NoArgsConstructor
@AllArgsConstructor
@RequiredArgsConstructor
@ToString
@Getter
public class EmployeeDTO {
private String first_name;
@NonNull
private String last_name;
private Date hire_date;
@Setter @NonNull
private Integer sallary;
}
package com.ezen.springmvc.model;
import java.util.Date;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.junit.Test;
import org.springframework.stereotype.Controller;
@Controller
public class EmployeeTest {
private static Logger log = LogManager.getLogger(EmployeeTest.class);
@Test
public void test() {
log.info(new EmployeeDTO("Roa", "Lee", new Date(), 10000));
}
@Test
public void test2() {
log.info(new EmployeeDTO("Lee", 10000));
}
}
728x90
반응형