Lombok
- Constructor Annotation
Annotaion | 설명 |
---|---|
@NoArgsConstructor | 파라미터 없는 생성자 |
@AllArgsConstructor | 모든 필드를 가진 생성자 |
@RequiredArgsConstructor | - 객체 생성에 필요한(Required) arguments를 받는 생성자 - Required Arguments : final field / @NotNull 처럼 강제화된 필드 |
- Optional Elements
Modifier and Type | optional Element |
Description | Default |
---|---|---|---|
AccessLevel | access | 접근 제한 (PUBLIC, MODULE, PROTECTED, PACKAGE, PRIVATE ...) |
PUBLIC |
AnyAnnotation[] | onConstructor | 생성자에 적용할 어노테이션 | {} |
String | staticName | - 생성자를 private로 만들고,staticName에 설정한 value를 이름으로static constructor 를 만들어준다. - static constructor 는 같은 arguments 를 받는 real constructor(private로 설정된) 를 감싸고있다. |
"" (blank = generate a normal constructor ) |
- onConstructor
The syntax for this feature depends on JDK version (nothing we can do about that; it's to work around javac bugs).
up to JDK7:
@RequiredArgsConstructor(onConstructor=@__({@AnnotationsGoHere}))
from JDK8:
@RequiredArgsConstructor(onConstructor_={@AnnotationsGohere}) // note the underscore after onConstructor.
- static constructor가 어디에 유용한지 찾아보기
- 참고 https://projectlombok.org/api/lombok/RequiredArgsConstructor.html
@Data
- @Getter
- @Setter
- @RequiredArgsConstructor
- @ToString
- @EqualsAndHasCode
'Spring > Spring' 카테고리의 다른 글
@RestController @Controller (0) | 2018.10.25 |
---|---|
@RequestParam (0) | 2018.08.10 |
[Spring] Spring을 이용하여 간단 로그인하기 (0) | 2018.01.09 |
[Spring] AOP (0) | 2017.08.19 |