Service 2

Controller, Service 왜 나눌까요? (2022.12.02 - 작성 중)

Spring을 이용해서 개발하다보면 기계적으로 무언가를 만들거나, 혹은 이 것을 왜 ? 이렇게 구분하거나 사용하거나 궁금증을 가지게 된다. 그럴때가 되면 항상 그 궁금증을 해결하려고 북마크를 걸어놓거나 바로 찾아서 정보를 획득하고 정리하는 편이다.. (물론 북마크만 걸어놓고 미루다가 나중에 하는 경우도..) 오늘은 컨트롤러(Controller) 그리고 서비스(Service)단이다. 이유에 대해서 먼저 설명을 하자면 다음과 같다 트랜잭션의 처리 API의 확장 및 변경 1. 트랙잭션의 처리 내가 아는 트랜잭션은 DB 관련 작업 시 작업의 처리 순서? 단위?정도로 생각을 했었다. 트랜잭션은 DB에 데이터 관련 작업을 하고 업데이트를 할 때, 이 과정들을 한번에 처리하고, 성공 혹은 실패 시 롤백을 하거나, 커..

스프링 2022.12.02

Repository와 Service

공부를 하던 도중 궁금한 점이 생겼다. 우리가 DB와 관련된 작업을 하기 위해선 Repository와 Service를 만들어야하는데, 다른 사람들이 작성한 코드를 보면 기능을 Repository에서 구현하기도 하고, Service에서 구현하기도 하는데, 왜 이렇게 구분하는지가 궁금했다. (기존에 나는 service에서 구현) 김영한 님이 말하길 DB에 접근하는 코드는 Respository에 위임하고, Service 패키지에는 비즈니스 로직과 관련된 코드를 위임하는데, 이렇게 구분해두면 비즈니스 로직및 관련 부분에 오류가 발생하면 Service를 확인하고, DB 접근과 관련된 문제가 발생하면 Repository를 확인하면 된다고 한다. 서비스에서 DB계층을 연결하려고 하면 Repository라는 저장소를 ..

스프링/백엔드 2022.06.12