Java Lombok @Data @Builder
6990 단어 자바
@ EqualsAndHashCode: equals () 방법 과 hashCode () 방법 을 실현 합 니 다 @ ToString: toString () 방법 을 실현 합 니 다 @ Data: 클래스 에 설명 합 니 다.모든 속성 을 가 진 getting 과 setting 방법 을 제공 합 니 다. 그 밖 에 equals, canEqual, hashCode, toString 방법 @ Setter: 속성 에 주석 을 달 았 습 니 다.속성 에 setting 방법 을 제공 합 니 다 @ Getter: 속성 에 설명 합 니 다.속성 에 getting 방법 을 제공 합 니 다 @ Log4j: 클래스 에 설명 합 니 다.클래스 에 log 라 는 속성 을 제공 하 는 log4j 로그 대상 @ NoArgs Constructor: 클래스 에 설명 합 니 다.클래스 에 인삼 이 없 는 구조 방법 을 제공 합 니 다 @ AllArgs Constructor: 클래스 에 주석 을 달 수 있 습 니 다.클래스 에 전 삼 구조 방법 을 제공 합 니 다 @ Cleanup: 흐름 닫 기 @ Synchronized: 대상 동기 화 @ SneakyThrows: 이상 던 지기
@Data
lombok 을 사용 하지 않 는 프로젝트
public class Person {
private String id;
private String name;
private String identity;
private Logger log = Logger.getLogger(Person.class);
public Person() {
}
public Person(String id, String name, String identity) {
this.id = id;
this.name = name;
this.identity = identity;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public String getIdentity() {
return identity;
}
public void setId(String id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setIdentity(String identity) {
this.identity = identity;
}
}
lombok 프로젝트 사용 하기
@Data
@Log4j
@NoArgsConstructor
@AllArgsConstructor
public class Person {
private String id;
private String name;
private String identity;
}
위의 두 자바 류 는 작용 적 으로 볼 때 그들의 효 과 는 같 습 니 다. 비교 해 보면 매우 뚜렷 합 니 다. lombok 을 사용 하 는 것 은 매우 간결 해 야 합 니 다.
<dependency>
<groupId>org.projectlombokgroupId>
<artifactId>lombokartifactId>
dependency>
@Builder
lombok 을 사용 하지 않 는 프로젝트
public class Example {
private T foo;
private final String bar;
private Example(T foo, String bar) {
this.foo = foo;
this.bar = bar;
}
public static ExampleBuilder builder() {
return new ExampleBuilder();
}
public static class ExampleBuilder {
private T foo;
private String bar;
private ExampleBuilder() {}
public ExampleBuilder foo(T foo) {
this.foo = foo;
return this;
}
public ExampleBuilder bar(String bar) {
this.bar = bar;
return this;
}
@java.lang.Override
public String toString() {
return "ExampleBuilder(foo = " + foo + ", bar = " + bar + ")";
}
public Example build() {
return new Example(foo, bar);
}
}
}
lombok 을 사용 하 는 프로젝트 guava 16.0.1
@Builder
public class Example {
private int foo;
private final String bar;
}
인 스 턴 스 를 만 듭 니 다. 속성 은 Example. builder (). foo (1). bar ("test"). build () 를 따로 설정 할 필요 가 없습니다.
참고:http://projectlombok.org/features/index. http://blog.csdn.net/hack8/article/details/23790579 http://blog.csdn.net/ethanq/article/details/7185610 [builder 모드 디자인]
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.