앞에서는 간단하게 요청을 받고 해당하는 view를 처리하는 컨트롤러 부분을 구현했다.
비지니스 로직에 대해서 알아보고 공부해보자
@Service애노테이션
비지니스 로직을 담당하는 컴포넌트
- 도메인 모델(데이터)과 컨트롤러 사이에 위치한다.
- 구현방식
- 인터페이스+클래스: 정석적인 방법이다
- 인터페이스를 요구사항에 따른 기능 문서(ex: javadoc)로 작성
- 같은 기능을 하는 다양한 구현체를 작성할 니즈가 예상될때 적합하다.
- 클래스
- 실무에서는 즐겨 사용되기도 하는 방식
- 인터페이스를 추가로 작성하는 수고를 덜게되지만
- 컨트롤러 레이어와 결합도는 더욱 더 증가하게 됨
비지니스 로직의 테스트
비지니스 로직의 테스트하는 방법
- unit test, solitary test -> 필요로 하는 것만 사용하거나 mocking, slice test
- ex) 컨트롤러 입출력의 확인
- ex) 에러의 검증
- ex) 비지니스 로직의 동작
- integration test, sociable test -> @SpringBootTest를 활용한다
- ex) 인증 + api 호출
- ex) api 호출 -> 비지니스 -> 데이터 접근 -> 응답 까지