본문 바로가기

JAVA

Spring Boot 전체적인 구조 DataFlow(Controller,Service,Repository)

       

Controller란?


기능 

해당 요청 url에 따라 적잘한 view와 mapping 처리

@Autowired @Service를 통해 service와 method를 이용 

적절한 ResponseEntity(DTO)를 body에 담아 Client에 반환한다.

 

@Controller

API와 View를 동시에 사용하는 경우 사용

대신 API서비스를 사용하는 경우에는 @ResponseBody  를 사용하여 객체를 반환

★ VIew(화면) return이 주 목적이다.!

사용 예시!

@RestController

view가 필요없는 API만 지원하는 서비스에서 사용 (Spring 4.0.1부터 제공)

@RequestMapping 메소드가 기본적으로 @RequestBody 의미를 가정한다.

data(json, xml) return이 주 목적: return ResponseEntity

@RestController = @Controller + @ResponseBody


Service 란?


기능 

@Autowired Repository 를 통해 RepositoryMethod를 이용

적절한 비즈니스 로직을 처리한다.

DAO로 DB에 접근하고  DTO로 데이터를 넘겨받은뒤 비즈니스 로직을 처리해 적절한 데이터를 반환 

사용 예시


Repository란?(DAO)


기능

실제로 DB에 접근하는 객체

Service와 DB를 연결하는 고리

SQL을 사용해서 DB에 접근한뒤 CRUD API를 제공

-JPA 대부분 기본적인 CRUD 메소드를 제공

예시 (JPA의 경우)

사용예시

 

출처 : https://coder-in-war.tistory.com/entry/Spring-12-DAO-DTO-Entity%EC%99%80-%EC%8A%A4%ED%94%84%EB%A7%81-%ED%8C%A8%ED%82%A4%EC%A7%80%EC%9D%98-%EC%A0%84%EC%B2%B4-%EA%B5%AC%EC%A1%B0

 

[ Spring ] 12. DAO & DTO & Entity와 스프링 패키지의 전체 구조

DAO & DTO & Entity DAO Data Access Object repository package 실제로 DB에 접근하는 객체 Persistance Layer(DB에 dat를 CRUD하는 계층)이다. Service와 DB를 연결하는 고리의 역할 SQL을 사용해 (개발자가 직접 코딩) DB에 접

coder-in-war.tistory.com

 

반응형