Spring33 JPA - CascadeType 옵션 JPA에서는 CascadeType은 연관관계된 객체간의 변화에 따라서 별도의 쿼리나 작업 없이도, 엔티티를 생성, 삭제, 변화등을 할 수 있는 기능이다. CascadeType의 옵션은 6가지 이다. CascadeType.ALL : 아래의 5가지를 모두 적용 CascadeType.PERSIST : 부모 엔티티에서 자식객체를 저장하면 자식 엔티티도 자동으로 DB에 저장된다. CascadeType.REMOVE: 부모 엔티티를 삭제하면 DB에서 부모 엔티티 뿐만아니라 자식 엔티티도 삭제된다. CascadeType.MERGE: 부모 엔티티와 자식 엔티티를 합친다. CascadeType.DETACH: 부모 엔티티와 자식 엔티티를 분리한다. CascadeType.REFRESH: 부모 엔티티를 새로고침한 경우, 자식 .. 2023. 9. 8. HTTP 메시지 컨버터 (2) 이전 HTTP 메시지 컨버터 (1) 에서는 HTTP 메시지 컨버터의 흐름과 동작방식에 대해서, 알아보았다. 그렇다면, 이번에는 메시지 컨버터가 스프링 MVC 어디에서 사용되는 것일까?? SpringMVC 구조는 다음과 같다. 메시지 컨버터는 @RequestMapping을 처리하는 핸들러 어댑터인 RequestMappingHandlerAdapter에서 동작한다. 그렇다면, 먼저 RequestMappingHandlerAdapter의 동작방식에 대해 알아보자. RequestMappingHandlerAdapter 동작방식 ArgumentResolver 애너테이션 기반의 컨트롤러는 매우 다양한 파라미터를 사용할 수 있었다. HttpServletRequest, Model은 물론이고, @RequestParam, @M.. 2023. 7. 21. HTTP 메시지 컨버터 (1) 뷰 템플릿으로 HTML을 생성해서 응답하는 것이 아니라, HTTP API처럼 JSON 데이터를 HTTP 메시지 바디에서 직접 읽거나 쓰는 경우 HTTP 메시지 컨버터를 사용하면 편리하다. 스프링 MVC는 다음의 경우에 HTTP 메시지 컨버터를 적용한다. HTTP 요청 : @RequestBody, HttpEntity(RequestEntity) HTTP 응답 : @ResponseBody, HttpEntity(ResponseEntity) HTTP 메시지 컨버터 인터페이스 org.springframework.http.converter.HttpMessageConverter package org.springframework.http.converter; public interface HttpMessageConvert.. 2023. 7. 21. SpringMVC - HTTP API, 메시지 바디에 입력하기 이번 포스팅에서는, HTTP API 통신 시, 클라이언트가 메시지 바디에 넣은 JSON을 스프링에서 처리해보는 학습을 해볼 것이다.! 이미 해당 부분에 대한 자세한 내용은 SpringMVC - HTTP 요청 메시지(JSON 타입 처리) 에서 다뤘기 때문에 이번에는 간단하게 실습내용과 설명을 공유할 예정이다. ResponseBodyController import hello.springmvc.basic.HelloData; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotyp.. 2023. 7. 20. SpringMVC - HTTP 응답(정적 리소스, 뷰 템플릿) 이번 포스팅에서는 스프링에서 HTTP 응답 시, 정적 리소스와 뷰 템플릿관련 내용을 다뤄볼 예정이다. 스프링에서 응답 데이터를 만드는 방법은 크게 3가지 이다. 정적리소스 예시) 웹 브라우저에 정적인 HTML, css, js를 제공할 때는, 정적 리소스를 사용한다. 뷰 템플릿 사용 예시) 웹 브라우저에 동적인 HTML을 제공할 때는 뷰 템플릿을 사용한다. HTTP 메시지 사용 HTTP API를 제공하는 경우에는 HTML이 아니라 데이터를 전달해야 하므로, HTTP 메시지 바디에 JSON과 같은 형식으로 데이터를 객체 형태로 보낸다. 정적 리소스 스프링 부트는 클래스패스 다음 디렉토리에 있는 정적 리소스를 제공한다. /static, /public, /resources, /META-INF/resources .. 2023. 7. 20. SpringMVC - HTTP 요청 메시지(JSON 타입 처리) 이번 포스팅에서는 클라이언트의 요청 바디가 JSON타입일 경우 어떻게 처리할 수 있는지 학습해볼 예정이다. 서블릿에서 요청을 받아 처리하는 방법부터, 스프링에서 제공하는 기능까지 한번 알아보자. requestBodyJsonV1 /** * {"username":"hello", "age":20} * content-type: application/json */ @Slf4j @Controller public class RequestBodyJsonController { private final ObjectMapper objectMapper = new ObjectMapper(); @PostMapping("/request-body-json-v1") public void requestBodyJsonV1(HttpServ.. 2023. 7. 20. 이전 1 2 3 4 ··· 6 다음