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

49번째 줄: 49번째 줄:


==라이브러리 추가==
==라이브러리 추가==
* pom.xml
* [[pom.xml]]
<source lang='xml'>
<source lang='xml'>
<dependencies>
<dependencies>
60번째 줄: 60번째 줄:
</dependencies>
</dependencies>
</source>
</source>
* [[build.gradle]]
<source lang='text'>
<source lang='text'>
dependencies {
dependencies {

2017년 4월 10일 (월) 14:21 판

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 }}