[Spring]Lombok과 Refactoring

윤재열·2022년 2월 4일
0

Spring

목록 보기
10/72

Lombok을 활용하여, 기존 코드를 "리팩터링" 해보기

1. Lombok이란?

  • 코드를 간소화 시켜주는 라이브러리 입니다.
  • 개발을 하다보면 게터,세터,생성자 등등 이런 필수 메서드들을 반드시 사용하기 마련인데 이를 매번 작성하는게 만만치 않습니다.
  • 그래서 나온 도구가 Lombok입니다.

2. Lombok의 기능

  • 여러 필수 코드의 반복을 최소화 할수 있습니다.
  • logging 기능을 통해 prinln또한 개선 즉 "리팩토링" 할 수 있습니다.
  • Refactoring 이란 코드의 구조 또는 성능을 개선하는 작업을 말합니다.
  • logging은 프로그램 수행과정을 기록으로 남기는 겁니다.(일종의 자동차 블랙박스 정도입니다.)

3. 실습 개요

  • Lombok을 사용해서 늘어진 코드들을 간소화 및 println을 logging으로 변환하도록합니다.

4. Lombok 라이브러리 추가

  • 여기에서 이제 Lombok을 추가할수 있습니다.
  • 디펜던시스에 라이브러리 즉 프로젝트 생성을 위한 도구들을 여기에 추가해 주어야 합니다.
compileOnly 'org.projectlombok:lombok'
	annotationProcessor 'org.projectlombok:lombok'


  • 이 코끼리의 새로고침을 해줘야 합니다.
  • 다음으로 해야 할 것은 플러그인 설치입니다.
  • 그후에 Prefereneces ->Build, Execution, Deployment -> Enalbe annotarion processing을 체크해줍니다.



  • 이로써 롬복을 사용할 준비가 되었습니다.

5.DTO 리팩토링

  • dto 패키지의 ArticleForm에 가보면 생성자도 있고 오버라이드된 toString()도 있습니다.

  • 여기서 '아 생성자 쓰는거 귀찮아,toString도 쓰는게 귀찮아' 그러면 과감하게 지워주는데

  • 대신 클래스 위에 @AllArgsConstructor를 써주면 생성자를 써준것과 같은 효과를 나타내며,
    @ToSring을 써주면 오버라이딩된 toString()을 지워줘도 됩니다.

  • 이렇게 해서 ArticleForm 클래스를 론복을 사용하여 리팩토링,개선해 보았습니다.
  • 코드가 한눈에 보기에도 쉽고 코드가 짧아졌습니다.

6. Entity 리팩토링

  • DTO와 같이 똑같이 리팩토링 해줄수 있습니다.

7.로그 남기기

  • 세번째 개선 대상은 컨트롤러 입니다.
  • println으로 찍어 보는 것은 실제 서버에서는 이렇게 절대 하시면 안됩니다.
  • 실제 서버에서는 프린트로 검증을 하는게 로그에 남지고 않고 서버의 성능에도 상당항 악영향을 끼치기 때문에 사용하지 안습니다.
  • 그래서 logging기능을 사용합니다.

7-1 로깅(logging)이란?

  • 자동차에서 사고날때 블랙박스라고 보면 됩니다. 매 순간에 영상들을 다 기록하듯이 서버에서 일어나는 일들을 내가 확인하고 싶은 일들을 모두 기록할수 있게 하는것이 로깅입니다.

7-2 로깅 사용법

  • 클래스위 에 @Slf4j 어노테이션을 입력합니다.
  • 이렇게 log.info();안에 출력하고 싶은 값을 넣어주면 됩니다.

  • 어떻게 출력되는지 확인해봅시다.

  • 아까와 다르게 ArticleController에서 이렇게 찍힌것을 볼 수있습니다.
profile
블로그 이전합니다! https://jyyoun1022.tistory.com/

0개의 댓글