저는 Spring Boot 서비스를 작성 중이며 RequestContext
인증 된 사용자 및 요청 ID와 같은 것을 저장할 수있는 컨트롤러 에 사용할 수있는 일부 형식을 포함하고 싶었습니다 . 그러나 여러 접근 방식이 있습니다.
@RequestScope
Bean 사용- 사용하다
ServletRequest.setAttribute
- Spring 사용
RequestContextHolder
이러한 접근 방식 간의 장단점은 무엇입니까?
저는 Spring Boot 서비스를 작성 중이며 RequestContext
인증 된 사용자 및 요청 ID와 같은 것을 저장할 수있는 컨트롤러 에 사용할 수있는 일부 형식을 포함하고 싶었습니다 . 그러나 여러 접근 방식이 있습니다.
@RequestScope
Bean 사용ServletRequest.setAttribute
RequestContextHolder
이러한 접근 방식 간의 장단점은 무엇입니까?
대체로 말하자면, RequestScope
Spring의 마술적인 방법입니다. 내부적 RequestContextHolder
으로 ServletRequest.setAttribute
. 다르게 말하면 Spring 방식 은 IMHO RequestScope
입니다. RequestContextHolder
Spring 어노테이션의 마법을 제한하려는 경우 의미가 있습니다. Finaly ServletRequest.setAttribute
는 여전히 낮은 수준이며 코드가 Spring이 아닌 응용 프로그램과 호환되도록하려면 주로 사용해야합니다.
또한 처음 두 가지 방법에 대해 Spring은 스레드 범위 객체를 사용하여 요청 컨텍스트에 대한 참조를 저장하므로 프로그래머가 Request 객체를 명시 적으로 수신하지 않는 메서드에서도 Bean에 액세스 할 수 있습니다.
ManyToOne 관계의 Jpa Stackoverflow 예외 (0) | 2021.03.14 |
---|---|
한 끝점에서 다른 요청 본문을 사용하는 방법은 무엇입니까? (0) | 2021.03.14 |
JSESSIONID없이 StompCommand.CONNECT를 수행 할 수 있지만 X-XSRF-TOKEN이 필요한 이유는 무엇입니까? (0) | 2021.03.14 |
데이터베이스 구조 변경을 위해 스프링 부트 권한을 제거하는 방법 (0) | 2021.03.14 |
Java 11의 새로운 기능 (0) | 2021.03.14 |