728x90

[참조]https://projectlombok.org/

1. lombok을 쓰는 이유
모델 Class(VO, DTO, Entity) 를 만들때, 생성자, 접근자, 설정자, toString() 등 매번 만들어야한다. lombok을 사용하면 @Getter, @Setter 같은 어노테이션만 붙이면 자동으로 해주니 편하고 좋음
기존 방식의 문제점
- 멤버변수를 제어하기 위해 모델 객체마다 반복적으로 메소드들을 생성해야 한다.
- IDE에서 generate를 이용해서 편하게 생성할 수 있지만, 변수명이 바뀌면 다시 만들어야한다.
lombok의 특징
- 생성자, 접근자, 설정자, toString() 자동생성 라이브러리이므로 위와 같은 번거로움이 없다.
- 이외에도 다양한 기능들이 추가로 있다.
2. gradle 에서 사용하기
build.gradle 에 추가하기
repositories {
mavenCentral()
}
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.14'
annotationProcessor 'org.projectlombok:lombok:1.18.14'
testCompileOnly 'org.projectlombok:lombok:1.18.14'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.14'
}
3. 주로 사용하는 Annotation
3-1. 접근자와 생성자 @Getter, @Setter
접근자와 설정자를 자동 생성해준다. 멤버변수 위에 선언해주면 된다. 클래스 위에 선언하면 전체 적용
3-2. 생성자
클래스 위에 쓴다.
- @AllArgsConstructor : 모든 변수로 생성자 생성
- @RequiredArgsConstructor : final 키워드나 @NonNull 이 된 멤버변수로만 생성자 생성
- @NoArgsConstructor : 기본 생성자 생성
3-3. ToString()
@ToString을 사용한다. @ToString(exclude = "password")처럼 특정 필드를 제외시킬 수도 있다.
3-4. @EqualsAndHashCode
객체 비교 등의 용도로 사용되는 equals(), hashCode() 메소드의 코드를 생성해준다.
3-5. @Data
위에있는 @Getter, @Setter, @RequiredArgsConstructor, @EqualsAndHashCode, @ToString 같은걸 한번에 해준다.
3-6. 기타
- @NonNull : 변수 위에 사용한다. runtime 시에 Null Check 을 하여 NullPointerException이 발생하도록 한다
'BackEnd > Spring' 카테고리의 다른 글
[Spring] SpringBoot JSTL 사용하여 Controller 에서 ModelAndView를 이용하여 View로 넘겨주기 (0) | 2021.12.28 |
---|---|
[Spring] SpringBoot Path with "WEB-INF" or "META-INF" 오류 (0) | 2021.12.28 |
[Spring] SpringBoot PostgreSQL DB연결 (0) | 2021.12.28 |
[JPA] Spring Data JPA 기초 (1) -Repository 종류 (0) | 2021.12.28 |
[JavaScript] Ajax에서 JSON으로 return 받은 값을 table에 insert하기(뿌려주기) (0) | 2021.12.12 |
댓글