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
반응형