[웹 스터디] 서비스 레이어 : 비지니스 로직

박준수·2022년 11월 25일
0

[웹 스터디]

목록 보기
10/19

서비스 레이어는 컨트롤러와 퍼시스턴스 사이에서 비지니스 로직을 수행하는 역할을 한다. HTTp와 긴밀히 연관된 컨트롤러에서 분리돼 있고, 도 데이터베이스와 긴밀히 연관된 퍼시스턴스와도 분리돼 있다. 따라서 서비스 레이어에서는 우리가 개발하고자 하는 로직에 집중할 수 있다.

TodoService

@Service는 내부에 @Component에노테이션을 가지고 있는데 특별한 기능 차인느 없다. 단지 이 클래스는 스프링 컴포넌트이며 기능적으로는 비지니스 로직을 수행하는 서비스 레이어임을 알려주는 어노테이션이다.

TodoController

@RestController도 내부에 @Component어노테이션을 가지고 있어서 @Service, @RestController 모두 자바 빈이고, 스프링이 관리한다.

  • 스프링은 TodoController 오브젝트를 생성할 때, TodoController내부에 선언된 TodoService에 @Autowired어노테이션이 붙어있다는 것을 확인한다.
  • @Autowired는 알아서 빈을 찾아서 그 빈을 이 인스턴스 멤버변수에 연결하라는 뜻이다.
  • 그러므로 TodoController를 초기화할때 스프링은 알아서 TodoService를 초기화 또는 검색해 TodoController에 주입해준다.

결론 :
서비스 레이어는 HTTP나 데이터베이스 같은 외부 컴포넌트로부터 추상화되어 온전히 비지니스 로직에만 집중할 수 있었다.

profile
방구석개발자

0개의 댓글