minlog
article thumbnail

 

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);

    }

}
profile

minlog

@jimin-log

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!