Back-End/Spring Boot

롬복과 리팩터링

psy_er 2024. 2. 12. 20:46
728x90

<롬복과 리팩터링>

 

롬복(lombok) : 코드를 간소화해 주는 라이브러리

로깅(logging) : 프로그램의 수행 과정을 기록으로 남기는 것

리팩터링(refactoring) : 코드의 기능에는 변함 없이 코드의 구조 또는 성능을 개선하는 작업

 

 

 < build.gradle 파일에 롬복 추가하기 >

dependencies{
    compileOnly 'org.projectlombok:lombok' // 추가
    annotationProcessor 'org.projectlombok:lombok' // 추가
}

 

코끼리 모양 새로고침 누르기 -> 롬복 라이브러리 다운로드함

 

 

<DTO 리팩터링하기>

 

- 생성자 리팩터링

 

생성자 지우고 ArticleForm 클래스 위에 @AllArgsConstructor 어노테이션을 추가하면

클래스의 필드 매개변수에 해당하는 생성자가 자동으로 생성된다.

 

-  toString 리팩터링

 

toString 메서드를 삭제하고 @toString 어노테이션 추가

 

import lombok.ToString;

@AllArgsConstructor
@ToString
public class ArticleForm{

    private String title;
    private String content;
    
    @Override
    public String toString(){
    return "ArticleForm{" + "title='" + title + '\'' + ", content='" + content + '\'' + '}';
    }
}

 

 

<컨트롤러에 로그 남기기>

 

pringln() 문으로 데이터를 검증하면 기록에 남지 않고, 서버의 성능에 악영향을 미친다. => 로깅 사용

 

로깅 기능 : 서버에서 일어나는 일을 모두 기록

@Slf4j : Simple Logging Facade for Java, 로깅 기능 사용 가능

@Slfsj // 로깅 기능을 위한 어노테이션 추가
@Controller
public class ArticleController{
}

 

1. System.out.println(form.toString()); 주석처리 하기

2. log.info(); 문 작성하기, info() 괄호 안에 출력하길 원하는 form.toString() 넣기

 

로그문을 작성하여 리팩터링 한 뒤에 run 시키면 컨트롤러에서 어떤 데이터가 언제 저장됐는지 시간 정보를 알 수 있다.

728x90