Lombok에서 @Getter@Setter의 동작 설명
입문
Lombok의
@Getter
, @Setter
에서 동작 검증을 한 기록이다.Lombok의 가져오기 방법과
@Getter
과 @Setter
이외의 주석의 사용 방법은 여기에 쓰지 않고 다른 사람이 정리한 것을 보십시오.Lombok 정보
본론으로 들어가기 전에 Lombok을 간단히 설명해 주세요.
Lombok은 특정 주석을 이용하여
getter
, setter
, toString
등을 자동으로 생성하는 라이브러리입니다.개발 단계에서는 POJO 개체 등의 기술량을 줄일 수 있습니다.
현재 getter,setter를 직접 쓰는 사람은 드물지만, 자동으로 생성하기 위해 맞춤법 오류를 없앨 수 있습니다.
실천
그럼 바로 사용해 보세요.
특정 필드에 getter,setter 만들기
이 경우 setter, setter를 만들 필드에
@Getter
및 @Setter
을 부여합니다.Product.java
import lombok.Getter;
import lombok.Setter;
public class Product {
@Getter
@Setter
private long id;
@Getter
private String name = "マウス";
}
대강을 볼 때, 필드에 지정한 getter,setter를 만드는 것을 볼 수 있습니다실제 행동 여부를 확인하다.
public static void main(String[] args) {
Product product = new Product();
product.setId(1L);
System.out.println(product.getId());
System.out.println(product.getName());
}
콘솔1
マウス
너는 그것들이 모두 이렇게 정확하게 움직이는 것을 볼 수 있다.클래스의 모든 필드에 getter와setter를 만들려면
방금 필드에
@Getter
또는 @Setter
을 수여했는데 이 경우 클래스에 @Getter
및 @Setter
을 수여합니다.Product.java
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class Product {
private long id;
private String name;
}
클래스의 모든 필드가 getter와setter를 만들었음을 볼 수 있습니다.동작 검증을 생략합니다.
getter는 모든 필드이고, setter는 일부 필드입니다.
이런 상황에서 모든 필드에 적용하고자 하는 것은 클래스이고, 일부 필드에 적용하고자 하는 것은 필드이며, 각자의 주석을 부여한다.
Product.java
import lombok.Getter;
import lombok.Setter;
@Getter
public class Product {
@Setter
private long id;
private String name;
}
지정한
id
대로setter를 만들었습니다.일부 필드의 getter와setter만 만들고 싶지 않으면
클래스의 거의 모든 필드에 getter와setter를 만들고 싶지만, 일부 필드에 getter와setter를 만들고 싶지 않으면
AccessLevel.NONE
를 지정하십시오.AccessLevel
getter, setter의 접근 수식자를 수정할 수 있습니다. 어떤 내용도 지정하지 않으면 public
입니다.Product.java
import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class Product {
@Getter(AccessLevel.NONE)
private long id;
@Setter(AccessLevel.NONE)
private String name;
}
지정한
AccessLevel.NONE
getter, setter를 만들지 않았습니다.getter, setter의 동작을 기본값에서 바꾸려고 할 때
개발 중이라면 클래스의 일부인 getter와setter의 동작만 바꾸고 싶은 상황에 직면하게 될 것입니다.
이런 상황에서 동작을 바꾸고 싶은 필드를 실현하는 getter,setter.
이번에는
name
필드의 getter
만 설치하세요.Product.java
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class Product {
private long id;
private String name;
public String getName() {
return "商品名: " + name;
}
}
대강에서 순서를 바꿨지만 있음getter
을 알 수 있다.아까처럼 돌아가 보세요.
public static void main(String[] args) {
Product product = new Product();
product.setId(1L);
product.setName("キーボード");
System.out.println(product.getId());
System.out.println(product.getName());
}
콘솔1
商品名: キーボード
이렇게 스스로 실현하는 getter는총결산
AccessLevel.NONE
을 지정합니다.참고 자료
Reference
이 문제에 관하여(Lombok에서 @Getter@Setter의 동작 설명), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/scallop722/items/e91db97658d90b6df1e8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)