728x90
    
    
  
Lombol API
setter, getter 자동 생성하는 API, 코드의 간략화를 해준다.
@Data 어노테이션을 통해 사용할 수 있다.

Lombol 세팅 방법 - 이클립스
1. 아래 사이트에서 롬복 파일 다운로드
Project Lombok
projectlombok.org


2. 다운로드 받은 파일 경로
다운로드 받은 파일을 아래 경로에 넣어준다.
C:\eGovFrame-4.0.0\bin\eclipse

3. 명령프롬프트(cmd)에서 설치
1) 경로 이동
cd C:\eGovFrame-4.0.0\bin\jdk8u242-b08\bin
2) 롬복.jar 파일 실행
java -jar C:\eGovFrame-4.0.0\bin\eclipse\lombok.jar

3) 경로를 이클립스로 넣어주고 설치한다.

4. pom.xml에 Lombok연결
📑pom.xml
<dependencies> .... 안에 아래 코드를 추가해준다.</dependencies>
<!-- 롬복 설치 -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.12</version>
    <scope>provided</scope>
</dependency>
Lombol 세팅 방법 - 인텔리제이 ( gradle )
1. 플러그인에서 롬복 설치
file > setting > plugins > lombok 검색

2. dependencies 추가
file > setting > plugins > lombok 검색
📑 build.gradle
dependencies {
   implementation 'org.springframework.boot:spring-boot-starter-web'
   compileOnly 'org.projectlombok:lombok'
   annotationProcessor 'org.projectlombok:lombok'
   testImplementation 'org.springframework.boot:spring-boot-starter-test'
}3. 어노테이션 사용가능
| Annotation | 의미 | 
| @Getter | |
| @Setter | |
| @ToString | |
| @NoArgsConstructor | 인자 없는 생성자 - 디폴트 생성자 | 
| @AllArgsConstructor | 객채의 모든 필드를 생성자로 받은것 | 
| @RequiredArgsConstructor | 꼭 필요한 인자를 추가해서 사용해서 생성자로 사용 한다. 필요한 인자는 @NonNull로 필드에 선언해준다. 해당 인자가 없을경우, NoArgsConstructor 와 동일하게 사용된다 | 
| @NonNull | 필수 요소 | 
| @EqualsAndHashCode | 이퀄스 해쉬코드 메서드 사용 객체의 동등성을 비교해준다. | 
| @Data | getter, setter, RequiredArgsConstructor, ToString, EqualsAndHashCode 을 포함하게 된다. | 
| @Builder | AllArgsConstructor 와 비슷하게 객체를 생성하는데 필드 값을 주입하는데 builder의 형식으로 생성 해준다. | 
@Builder 를 사용한 생성 방법
@Test
void test(){
    User user = new User();
    user.setEmail("mm@gmail.com");
    user.setName("MM");
    System.out.println(user);
    User user1 = User.builder().name("길동이").email("ma@naver.com").build();
}

package com.fastcampus.jpa.bookmanager.domain;
import lombok.*;
import java.time.LocalDateTime;
@Getter
@Setter
@ToString
@NoArgsConstructor
@AllArgsConstructor 
@RequiredArgsConstructor 
@EqualsAndHashCode 
@Data
@Builder
public class User {
    @NonNull //필수 값이 된다.
    private String name;
    @NonNull
    private String email;
    private LocalDateTime createdAt;
    private LocalDateTime updateAt;
}
Lombol API - log
@Slf4j
log.info() 를 사용해서 로그를 남길 수 있다.
( * Sysout.println() 대신 사용)
package com.example.filter.controller;
import com.example.filter.dto.User;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping("/api")
public class ApiController {
    @PostMapping("")
    public User user(@RequestBody User user){
        log.info("user:{},{}",user,user);
    }
}728x90
    
    
  'BackEnd > Spring Boot' 카테고리의 다른 글
| [ Spring ] 아이디 중복 체크 ajax 사용 - (1) 회원가입 (0) | 2023.03.02 | 
|---|---|
| [ Spring ] JSON 객체 타입을 리턴하는 비동기식 처리방식 (0) | 2023.02.28 | 
| [ Spring ] MySQL - (2) Mybatis Api 사용 (0) | 2023.02.28 | 
| [ Spring ] MySQL - (1) 이클립스 세팅 및 실행 (1) | 2023.02.28 | 
| [ Spring ] xml - 스프링 프로젝트 실행 절차의 이해 (0) | 2023.02.26 |