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

잔글 (봇: 자동으로 텍스트 교체 (-</source> +</syntaxhighlight>, -<source +<syntaxhighlight ))
 
(사용자 2명의 중간 판 21개는 보이지 않습니다)
3번째 줄: 3번째 줄:
;롬복
;롬복
* 단축 애노테이션을 제공하는 자바 라이브러리
* 단축 애노테이션을 제공하는 자바 라이브러리
:@ToString
:@EqualsAndHashCode
:@Getter / @Setter
:@RequiredArgsConstructor


<source lang='java'>
{| class='wikitable'
! 애노테이션명 !! 기능
|-
| @AllArgsConstructor || 모든 인자를 받는 생성자
|-
| @Data || 게터, 세터, toString(), equals(), hashCode() 메소드 생성
|-
| @EqualsAndHashCode ||
|-
| @Getter || 게터 메소드 생성
|-
| @NoArgsConstructor || 인자 없는 생성자 (JPA 필수사항)
|-
| @RequiredArgsConstructor ||
|-
| @Setter || 세터 메소드 생성
|-
| @ToString || toString() 메소드 생성
|}
 
==예시==
<syntaxhighlight lang='java'>
import lombok.AccessLevel;
import lombok.AccessLevel;
import lombok.Setter;
import lombok.Setter;
17번째 줄: 34번째 줄:
public class DataExample {
public class DataExample {
   private final String name;
   private final String name;
   @Setter(AccessLevel.PACKAGE) private int age;
   @Setter(AccessLevel.PACKAGE)
  private int age;
   private double score;
   private double score;
   private String[] tags;
   private String[] tags;
28번째 줄: 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>


==같이 보기==
==같이 보기==
*[[Java 애노테이션]]
* [[이클립스(STS)에 롬복 적용]]
* [[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 }}