"롬복 Lombok"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-</source> +</syntaxhighlight>, -<source +<syntaxhighlight ))
 
(사용자 2명의 중간 판 15개는 보이지 않습니다)
9번째 줄: 9번째 줄:
| @AllArgsConstructor || 모든 인자를 받는 생성자
| @AllArgsConstructor || 모든 인자를 받는 생성자
|-
|-
| @Data || 롬복 데이터
| @Data || 게터, 세터, toString(), equals(), hashCode() 메소드 생성
|-
|-
| @EqualsAndHashCode ||
| @EqualsAndHashCode ||
|-
|-
| @Getter || 게터 생성
| @Getter || 게터 메소드 생성
|-
|-
| @NoArgsConstructor || 인자 없는 생성자 (JPA 필수사항)
| @NoArgsConstructor || 인자 없는 생성자 (JPA 필수사항)
19번째 줄: 19번째 줄:
| @RequiredArgsConstructor ||  
| @RequiredArgsConstructor ||  
|-
|-
| @Setter || 세터 생성
| @Setter || 세터 메소드 생성
|-
|-
| @ToString || toString() 메소드 생성
| @ToString || toString() 메소드 생성
25번째 줄: 25번째 줄:


==예시==
==예시==
<source lang='java'>
<syntaxhighlight lang='java'>
import lombok.AccessLevel;
import lombok.AccessLevel;
import lombok.Setter;
import lombok.Setter;
46번째 줄: 46번째 줄:
   }
   }
}
}
</source>
</syntaxhighlight>


==pom.xml==
==라이브러리 추가==
<source lang='xml'>
* [[pom.xml]]
<dependency>
<syntaxhighlight lang='xml'>
<groupId>org.projectlombok</groupId>
<dependencies>
<artifactId>lombok</artifactId>
<dependency>
<version>1.16.6</version>
<groupId>org.projectlombok</groupId>
</dependency>
<artifactId>lombok</artifactId>
</source>
<version>1.16.16</version>
<scope>provided</scope>
</dependency>
</dependencies>
</syntaxhighlight>
* [[build.gradle]]
<syntaxhighlight lang='text'>
dependencies {
compileOnly "org.projectlombok:lombok:1.16.16"
}
</syntaxhighlight>


==같이 보기==
==같이 보기==
*[[JPA]]
* [[이클립스(STS)에 롬복 적용]]
*[[Java 애노테이션]]
* [[JPA]]
* [[Java 애노테이션]]


==참고 자료==
==참고==
* https://projectlombok.org/
* https://projectlombok.org/


[[분류: Java]]
[[분류:스프링 애노테이션]]

2020년 11월 2일 (월) 02:51 기준 최신판

1 개요[ | ]

Lombok
롬복
  • 단축 애노테이션을 제공하는 자바 라이브러리
애노테이션명 기능
@AllArgsConstructor 모든 인자를 받는 생성자
@Data 게터, 세터, toString(), equals(), hashCode() 메소드 생성
@EqualsAndHashCode
@Getter 게터 메소드 생성
@NoArgsConstructor 인자 없는 생성자 (JPA 필수사항)
@RequiredArgsConstructor
@Setter 세터 메소드 생성
@ToString toString() 메소드 생성

2 예시[ | ]

import lombok.AccessLevel;
import lombok.Setter;
import lombok.Data;
import lombok.ToString;

@Data
public class DataExample {
  private final String name;
  @Setter(AccessLevel.PACKAGE)
  private int age;
  private double score;
  private String[] tags;
  
  @ToString(includeFieldNames=true)
  @Data(staticConstructor="of")
  public static class Exercise<T> {
    private final String name;
    private final T value;
  }
}

3 라이브러리 추가[ | ]

<dependencies>
	<dependency>
		<groupId>org.projectlombok</groupId>
		<artifactId>lombok</artifactId>
		<version>1.16.16</version>
		<scope>provided</scope>
	</dependency>
</dependencies>
dependencies {
	compileOnly "org.projectlombok:lombok:1.16.16"
}

4 같이 보기[ | ]

5 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}