Spring - Service가 필요한 이유

minjjai·2022년 10월 8일
1

Spring에서 Service란?

  • Controller의 요청에 맞추어 Repository에서 받은 정보를 가공하여 Controller에게 넘겨주는 비지니스 로직

Service가 필요한 이유

모듈화

Service는 Controller와 Repository를 잇는 역할을 한다.
만약 Service가 없다면 Controller에서 직접 데이터를 받아 가공하고 처리하여 View에 넘겨주어야 하므로 Controller에는 코드가 길어지고, 중복되는 코드가 많아질 것이다.
그 중복되는 비지니스 로직(데이터 가공, 처리)을 모듈화한 것이Service이다.

보안

Controller는 데이터에 직접 관여하는 Repository에 접근할 수 없게 하고, Service를 통해서 데이터를 주고 받을 수 있게 하는 것이 좋다.
만약 해커가 Controller를 다룰 수 있게 되더라도 Repository에 직접 관여하게는 못하게 해야한다.

entity - DTO

엔티티 클래스는 Repository와 직접적으로 맞닿아 있는 클래스이기 때문에 직접 컨트롤러에 전달하는 것은 좋지 않다.
Controller에서 데이터를 가공하고 처리하는 과정에서 데이터에 변화가 생길 수도 있기 때문이다.
그래서 이런 이유로 엔티티 객체를 Repository와 관계가 없는 DTO객체로 변환하여 사용한다.
이렇게 entity를 DTO객체로 변환하여 Controller에 전달하는 역할을 Controller와 Repository의 중간자 역할로써 Service가 담당한다.

profile
BackEnd Developer

0개의 댓글