Study/SpringBoot
[스프링 부트 입문 10]롬복과 리팩터링
슬기로운 개발자
2022. 5. 3. 00:35
728x90
* 롬복을 활용하여, 기존 코드를 "리팩터링" 하시오.
1. 롬복이란
코드를 간소화 시켜주는 라이브러리
Getter(), setter(), constructor(), toString()...
일일이 귀찮게 만들기 싫어서 나온 도구
2. 롬복의 기능
필수 코드의 반복을 최소화할 수 있고,
Logging 기능을 통해 개선, 즉 "리팩터링" 할 수 있다.
Refactoring 이란?
코드의 구조 또는 성능을 개선하는 작업
Logging 이란?
프로그램의 수행과정을 기록으로 남기는것, 자동차 블랙박스!
3. 기존 코드 확인
4. 실습 개요
@DaTa, @slf4j
롬복과 로깅
5. 롬복 라이브러리 추가
build.gradle에 dependencies{ 안에
롬복 라이브러리 두줄 추가
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
후 코끼리 새로고침 해주기.(Load Gradle Changes)
6. 롬복 플러그인 설치
help - Find Action - plugins - Lombok 검색 - install
! -> Lombok Requires Annotation Processing 이 필요하다.
Do you want to enable annotation processors?. 메세지 출력
//주석 프로세서를 활성화하시겠습니까?
enable 체크
못했을 시에
File - Settings - Build, Execution, Deployment - Compiler - Annotation Processors
ㅁ Enable annotation processing 체크
// 주석 처리 활성화
7. DTO 리팩토링
기존 생성자와, toString() 객체 지우고
@AllArgsConstructor //생성자
@tostring // toString()
public class ArticleForm { 위에 적어준다.
이 과정을 Refactoring 개선했네 ~
8. ENTITY 리팩토링
기존 생성자와, toString() 객체 지우고
@AllArgsConstructor //생성자
@tostring // toString()
public class ArticleForm { 위에 적어준다.
이 과정을 Refactoring 개선했네 ~
9. 로그 남기기
System.out.println(form.toString()); -> 로깅기능으로 대체!
- 로그 기록에도 남지않고, 서버 성능에도 안좋음, 그래서 로깅을 써야함
log.info(form.toString()); 요런식으로
9-1. 로깅이란?
사고날때 블랙박스가 영상들을 다 기록하듯이
서버에서 일어나는 일들을 다 기록할 수 있게 하는것.
9-2. 로깅 사용법.
@slf4j // 로깅을 위한 골뱅이(어노테이션) 추가
log.info(form.toString()); 요런식으로 선언
10. 서버 실행시 주의점
서버 두개 실행시 오류나니깐 확인해보고 실행해라 ~
2022-04-27 21:25:42.545 INFO 10976 --- [nio-8080-exec-3] c.e.f.controller.ArticleController : ArticleForm(title=가가가가가가가, content=나나나나나나나)
2022-04-27 21:25:42.559 INFO 10976 --- [nio-8080-exec-3] c.e.f.controller.ArticleController : Article(id=null, title=가가가가가가가, content=나나나나나나나)
2022-04-27 21:25:42.654 INFO 10976 --- [nio-8080-exec-3] c.e.f.controller.ArticleController : Article(id=1, title=가가가가가가가, content=나나나나나나나)
요약
롬복을 가지고 리팩토링 할 수 있더라
리팩토링으로 코드를 압축시킬수도 있고
출력하는 기능을 로깅기능으로 바꿀 수 있더라. 참 쉽죠?
https://github.com/Giltaehyeong/firstproject/commit/2bc757b7646d2d0cbfc441683f45af6ae7fa04b8
[스프링 부트 입문 10]롬복과 리팩터링 · Giltaehyeong/firstproject@2bc757b
* 롬복을 활용하여, 기존 코드를 "리팩터링" 하시오. 1. 롬복이란 코드를 간소화 시켜주는 라이브러리 Getter(), setter(), constructor(), toString()... 일일이 귀찮게 만들기 싫어서 나온 도구 2. 롬복의 기능
github.com
소스코드참고.
@홍팍님 유투브 Springboot 입문 강의 11강 부터는 멤버쉽 회원전용 입니다.
https://www.youtube.com/channel/UCpW1MaTjw4X-2Y6MwAVptcQ
홍팍
클라우드 스터딩 채널 Cloud Studying Channel https://cloudstudying.kr
www.youtube.com
728x90