프레임워크/Spring, Spring Boot

[메타코딩] 스프링부트 개념정리 with JPA 3강

고용인 2022. 7. 13. 14:40

- MessageConverter가 궁금해요!

 

자바 Object를 누군가에게 전송할 때 JSON으로 컨버팅 해주는 것

 

자바 프로그램 ----------------------------------------------> 파이썬 프로그램

      MessageConverter: Jackson

                                 request(요청)

                                      JSON

                       <----------------------------------------------

                                 response(응답)

                                      JSON

      MessageConverter

 

 

- BufferedReader와 BufferedWriter

 

통신 규격의 시작은 영어권에서 시작되었다.

bit 단위는 0과 1로 표현되는데 사람의 언어로 인식하기 힘들었다.

영어의 한 문자는 8bit로 표현 할 수 있으며, 256가지의 문자 전송이 가능했다.

이 8bit를 1byte라 하며 통신의 단위로 정했다.

한글은 2byte, 중문은 3byte가 필요하다.

 

자바에서는 Byte Stream : 1Byte를 InputStream으로 읽는다.

InputStream은 처리 단위가 byte이기에 처리가 어렵다.

처리하기 위해서는 (char)형변환을 해야 함.

 

이를 위해 InputStreamReader로 문자 하나를 받을 수 있으며, 배열로 여러 문자를 받을 수 있다.

그러나 배열은 크기를 정하여 받아야 하기에 정해진 크기보다 적은 문자를 받을 때 낭비되는 자원이 발생한다.

이러한 문제를 해결하기 위해 BufferedReader로 감싼다.

 

BufferedReader는 가변길이의 문자를 받을 수 있다.

 

 

데이터를 쓸때는 BufferedWriter를 쓰는데 해당 메소드는 내려쓰기 기능이 없다.

그렇기에 PrintWriter라는 메소드를 사용한다.

 

JSP에서는 out라는 내장객체가 있는데 그게 BuffereWriter이다.

 

해당 기능을 이용 할 수 있는 어노테이션을 제공하는데

@ResponseBody ->  BufferedWriter

@RequestBody    ->  BufferedReader

이다.

 

 

강의 주소 : https://youtu.be/-5r52dt2HcU