본문 바로가기
trouble shooting/spring

실전 프로젝트 service 로직 개선 사항

by 일상코더 2022. 12. 2.

문제 상황

 

            - 현재 service의 method에서 핵심적인 로직이 무엇인지를 판단하여 부가 로직은 따로 빼서 method화 하거나,                       aop, util class등으로 분리시키시면 좋을 것 같다는 멘토님 피드백.

           

            - 예를 들면, badgeService에서, createBadge()를 보았을 때 핵심적인 기능은 badge를 생성하여 db에 저장하는 기능이다 . 그런데 현재 s3에 사진을 올리는 기능이 섞여있다 보니, 너무 코드가 복잡하기도 하고, 다른 곳에서 사진 올리는 기능을 사용하려고 할 때, 똑같이 작성해야 한다.

 

 

문제 원인

 

         

 

1. 테마 정보를 DB 저장하는 메서드 인데 그 사이에 S3 사진 저장하는 기능이 추가되어있어서 지금 현재 이 service에서 어떤 로직이 수행되는지 불분명하고 복잡함.

 

2. 또한 똑같은 코드가 업체 정보를 DB에 저장하는곳과 칭호 정보를 저장하는곳에 다시 쓰임

 

문제 해결

 

  Util에 메서드를 추가 하여 필요할때만 불러옴.

 

 

 

메서드만 불러오면 되서 코드가 많이 간결해짐

 

 

테마 db 저장 로직

테마 db 저장 로직

 

 

업체 저장 로직 

 

 

칭호 저장 로직

 

 

'trouble shooting > spring' 카테고리의 다른 글

@Transaction 오류  (0) 2022.12.07
쿼리 성능 개선(메인 페이지 업적 조회)  (0) 2022.12.05
@Transactional(readOnly = true)  (1) 2022.12.02
JPA Diarect(방언) 지정  (0) 2022.11.30
실전 프로젝트 피드백 N+1 문제  (0) 2022.11.29

댓글