본문 바로가기

자바의 봄(Spring)/자바와 스프링 공부하기23

[Spring] ResponseBody 어노테이션의 작동원리 ResponseBody 어노테이션의 작동원리 1. ResponseBody 어노테이션이 붙은 경우 1. 웹 브라우져에서 해당 주소로 요청이 발생하면 (hello-api) helloController에서 hello객체를 리턴해주게 된다. @ResponseBody가 붙지않은 경우에는 ViewResolver가 작동하지만 지금은 ResponseBody 어노테이션이 붙어있으니 HttpMessageConverter가 작동하게 된다. 여기서 두가지 메서드가 존재하는데 일반 문자열의 경우에는 StringConverter가 작동하게 되고 , JSON의 경우에는 JsonConverter가 작동하게 된다. 2023. 1. 16.
[JAVA] Servlet에 대해서 서블릿은 TCP IP 소켓 연결 및 대기 HTTP 요청 메시지 파싱 그리고 HTTP 응답 메시지 작성과 같은 내용들을 모두 자동화하여 정말 핵심적인 내용 (비즈니스 로직만) 우리가 작성하도록 한다. 위와 같이 통신을 하기 위한 절차를 많은 부분을 자동화 한 것을 서블릿이라고 한다. 그리고 톰캣처럼 서블릿을 지원하는 WAS를 서블릿 컨테이너라고 한다. WAS에서는 HTTP요청 메시지를 기반으로 request response 를 서블릿 컨테이너에 넘겨서 서블릿을 생성한다. 또다른 서블릿의 중요한 점을 꼽으라면 동시 요청을 위한 멀티 쓰레드를 지원하다는 점이 서블릿의 가장 큰 특징 중 하나이다. (JSP도 서블릿으로 변환되어서 사용된다.) 2022. 12. 21.
[JPA] @Transient 어노테이션에 관한 이해 JPA를 사용하면서 @Transient라는 어노테이션을 사용했었다. 하지만 그냥 단순하게 테이블의 맵핑을 제외하기 위해서 사용했다. 이렇게만 아주 단순하게 알고 있었는데 , 이번에 정리를 잘 해놓으신 분이 계셔서 그분이 정리해주신 부분을 읽어보고 @Transient라는 어노테이션에 대해서 다시 생각해보게 됐다. 여기서 @Transient 어노테이션이 선언된 위치를 보면 메서드 위에 어노테이션이 선언되어 있다. 만약에 @Transient 어노테이션이 선언되지 않았다면 현재 이 클래스는 Board 엔티티로 선언되어 있으므로 테이블에 해당 메서드로 컬럼이 생성되었을 것이다. 그런 일을 방지하기 위해서 Transient 어노테이션을 붙였다. 그렇다면 이 어노테이션을 붙인 메서드는 객체에 대한 조작을 담당하기 위.. 2022. 12. 16.
[JPA] 임베디드 타입 클래스를 구성하고 있는 내용을 간단하게 표현할 수 있도록 하는 내용이다. 이해한 바로는 공통 부분을 구성한다고 해야하나? 시간날때 더 자세히 알아보고 적도록 하겠다. 2022. 12. 10.