본문 바로가기

컴퓨터공학/Spring & Hibernate

Spring> MVC & Hibernate> Service layer

Get은 form 이 data 값을 URL뒤에 추가한다.

주어진 리소스로부터 request data

디버깅이 쉽다. 왜냐하면 url에 정보가 있기 때문에

다만 데이터 크기 제한이 있다.

북마크나 이메일 url

 

Post 

주어진 리소스로부터 submit data

북마크나 이메일 url안됨

데이터 크기 제한이 없다.

바이너리 데이터 파일도 보낼 수 있다.

 

@RequestMapping 은 모든 HTTP 메소드를 다룬다. GET POST 등등

반면에 @GetMapping은 get만 받는다.

반대로 @PostMapping은 post만 받는다.

 

 

Service Layer

@Service

Component Scanning으로 Spring이 자동적으로 Service implementation 을 등록할 것이다.

따라서 해야할 것은

Service interface를 정의

Service implementation을 정의

 

 

 

이런 그림이 나오는데

controller에서 하나의 service layer를 통해 여러개의 dao를 다룰 수 있다...

 


 

 

먼저 인터페이스를 만든다.

인터페이스 상속받는 객체를 만든다.

memberDAOImpl 에서 원래 있던 @Transactional을 제거한다. 왜냐하면 Service layer 일부이기 때문이다.

컨트로러에서 memberDAO를 Service로 대체한다. 

그림을 보면 알겠지만 중간 과정이 생겼다고 생각하면된다.