Controller, Service, Repository

Lee·2023년 8월 7일
0

controller

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();
    }
}

service

비즈니스 로직 수행
트랜잭션 관리
DB 정보가 필요시 repository에 요청
@Service 어노테이션을 사용해 spring bean 등록

@Service
public class UserService {
    public User getUser() {
    	return this.userRepository.findUser();
    }
}

repository

DB를 커넥션을 관리하는 역할(연결, 해제, 자원관리 ...)
DB CRUD 처리
spring에서 주로 JPA나 Mapper를 사용
@Repository 어노테이션을 사용해 spring bean 등록

@Repository
public interface UserRepository extends JPARepository<> {
	User findUser();
}
profile
발전하고 싶은 백엔드 개발자

0개의 댓글

관련 채용 정보