스프링은 MessageConverter를 가지고 있다. 기본값은 현재 Json이다.
영어권 국가의 사람인 A라는 사람이 있고 한국 사람인 B사람이 있다!
A(영어) -------> B(한국)사람에게 "Hello"라는 메세지를 보내면 B(한국)사람은 이해를 못한다❗
B(한국) -------> A(영어)사람에게 "안녕"이라는 메세지를 보내면 A(영어)사람은 이해를 못한다❗
두 사람이 통신을 원활하게 하기 위해 💡중간데이터 라는 개념이 나오게된다.
이 중간데이터는 A(영어)사람도 B(한국)사람도 모두 이해할수 있는 데이터이다.
( 중간데이터는 모두가 이해 할 수 있는 데이터이다 )
( 기존에는 이 중간데이터는 XML이라는 것을 많이 썼는데 요즘에는 거의 다 💡Json💡이라는것을 쓴다! )
이것을 프로그래밍적으로 보면...
Java Object와 Phyton Object는 서로 완전히 다른 Object이다❗
Java Object와 Phyton Object가 서로의 Object를 이해하지 못해 Java Object에서 Phyton Object를 가져다 쓸수가 없다!! 너무 당연하지 않은가...?😕 ( 반대도 마찬가지❗❗ )
그래서 서로의 Object를 가져다 쓰기위해 중간에 💡Json Object💡로 변경하게되면 Java도 Phyton도 모두 이해할 수 있을 것이다❗❗
그래서 결국 이런 일이 발생한다❗
Java Object ---------> Json Object ---------> Phyton Object
Phyton Object ------> Json Object ---------> Java Object
Java Object를 바로 Phyton Object로 바꾸는 것은 굉장히 어려운 일이지만...
중간에 Json Object로 변경하고 다시 Json Object를 Phyton Object로 바꾸는것은 쉽다!!
바로이 일련의 과정을 대신 해주는것이 바로 MessageConverter이다❗
MessageConverter는 Java Object --> Json Object, Json Object --> Java Object로 자동으로 변경해준다!
출처
https://www.youtube.com/watch?v=XBG6CUtVCIg&list=PL93mKxaRDidG_OIfRQ4nztPQ13y74lCYg
'Spring Boot' 카테고리의 다른 글
스프링부트+JPA - 5편 ( JPA ) (1) | 2021.05.03 |
---|---|
스프링부트+JPA - 4편 ( BufferedReader, BufferedWrite ) (2) | 2021.04.26 |
스프링부트+JPA - 2편 ( Filter , Annotation ) (0) | 2021.04.14 |
스프링부트+JPA - 1편 ( IoC, DI ) (0) | 2021.04.08 |
스프링 개념정리! (0) | 2021.04.07 |