client의 http request을 받고 그에 맞는 response을 돌려주는 역할
request의 처리는 담당 Service에 위임
스프링에서 요청 수신을 위한 Restful Mapping 어노테이션 사용(@GetMapping, @PostMapping ...)
@Controller, @RestController 어노테이션을 사용해 spring bean 등록
@RestController
public class UserController {
@GetMapping(/users)
public User getUser() {
return this.userService.getUser();
}
}
비즈니스 로직 수행
트랜잭션 관리
DB 정보가 필요시 repository에 요청
@Service 어노테이션을 사용해 spring bean 등록
@Service
public class UserService {
public User getUser() {
return this.userRepository.findUser();
}
}
DB를 커넥션을 관리하는 역할(연결, 해제, 자원관리 ...)
DB CRUD 처리
spring에서 주로 JPA나 Mapper를 사용
@Repository 어노테이션을 사용해 spring bean 등록
@Repository
public interface UserRepository extends JPARepository<> {
User findUser();
}