WebFlux와 WebMVC 동시 사용 시 동작 관찰
·
Spring
다음과 같이 web, webflux 의존성을 추가한다. implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-web-services' implementation 'org.springframework.boot:spring-boot-starter-webflux'서버를 띄우면 톰캣 서버가 뜬다. 스레드 덤프를 떠보면 http-nio-8080-*처럼 톰캣에서 사용되는 스레드의 이름이 관찰된다. 리액티브 코드 실행 리액티브 코드로 작성한 API를 동시에 50명의 유저가 호출하도록 하고 스레드 덤프를 떠본다. @GetMapping("..
webFlux 의존성 추가
·
Spring/webflux
implementation 'org.springframework.boot:spring-boot-starter-webflux'를 추가하면 된다.  나의 경우 해당 의존성을 추가 해주지 않았는데도,  Mono와 Flux import가 가능했다. 다음 명령어로 어찌된 영문인지 확인해보았다../gradlew dependencies --configuration runtimeClasspath org.springframework.boot:spring-boot-starter-data-redis -> 3.3.4| +--- org.springframework.boot:spring-boot-starter:3.3.4 (*)| +--- io.lettuce:lettuce-core:6.3.2.RELEASE| | ..
@ResponseBody를 이용한 응답 과정 알아보기
·
Spring
@ResponseBody@Controller 어노테이션이 있는 컨트롤러(핸들러) 메소드에서 사용 가능하다. @ResponseBody 어노테이션을 Controller method에 달아주면 메소드의 return value가 Http 응답 본문(body)에 전달된다.하지만 API를 구현할 때, 보통 @ResponseBody 보다는 @RestController를 클래스 레벨에서 사용하는 경우가 많다. @RestController@RestController 는 @Controller 를 기반으로 하는 어노테이션으로, @RestController 컨트롤러에 존재하는 모든 메서드에 @ResponseBody 를 적용한다.즉, @RestController 는 @Controller 와 @ResponseBody 를 합친..
HttpServletResponse와 HttpOutputMessage
·
Spring
ServletResponse서블릿에서 클라이언트에게 응답을 제공하기 위한 목적의 인터페이스이다. HttpServletResponse서블릿에서 Http 응답을 제공하기 위한 목적의 인터페이스이다.  HttpMessageSpring에서 Http 요청 및 응답 메시지를 다루기 위한 목적의 기본 인터페이스이다. HttpOutputMessage말그대로 HTTP output message를 위한 인터페이스이다. Http 서버 입장에서 보자. - Http request는 input message이다. 따라서  server side에서 Http 요청을 다룰 때 사용하는 인터페이스는  HttpInputMessage 를 상속 받은 ServerHttpRequest 인터페이스이다.- Http response는 output m..
서블릿에서 HTTP Response 보내기
·
Spring
서블릿에서 원하는 HTTP 응답을 보내기 위해서는 HttpServletResponse 을 설정하면 된다.TMI ✨이렇게 서블릿 중에서도 HTTP 요청과 응답을 다루는 서블릿을 HTTP servlet 이라고 부른다.서블릿은 웹 서버에서 동작하는 작은 자바 프로그램이다. 서블릿은 웹 클라이언트로부터 요청을 받고, 이에 응답하는데 다들 알다시피 일반적으로 HTTP 요청/응답을 처리하는데 사용된다. 1. setContentType()을 통해 응답할 response의 content type을 정해주자. 이때 옵션으로 인코딩 방식도 정해줄 수 있다. res.setContentType("text/html;ISO-88859-4"); 2. 응답 헤더를 지정하자. setHeader()를 이용하면 된다. res.setHea..
스프링 시큐리티 6.2 : 필터를 통한 인가 과정 살펴보기
·
Spring/스프링 시큐리티
보호되어 있는 글입니다.
실전! Querydsl - 프로젝트 환경 설정
·
Spring/QueryDSL
보호되어 있는 글입니다.
영속성 관리(ORM 표준 기술 {3} )
·
Spring
보호되어 있는 글입니다.