request 스코프
@Controller
@RequiredArgsConstructor
public class LogDemoController {
private final LogDemoService logDemoService;
private final MyLogger myLogger;
@RequestMapping("log-demo")
@ResponseBody
public String logDemo(HttpServletRequest request) {
String requestURL = request.getRequestURL().toString();
myLogger.setRequestURL(requestURL);
myLogger.log("controller test");
logDemoService.logic("testId");
return "OK";
}
}
스코프와 프록시
@Component
@Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)
public class MyLogger {
}
// 적용 대상이 인터페이스가 아닌 클래스면 TARGET_CLASS 를 선택
// 적용 대상이 인터페이스면 INTERFACES 를 선택
- CGLIB라는 라이브러리로 내 클래스를 상속 받은 가짜 프록시 객체를 만들어서 주입한다.
'Spring > Basic' 카테고리의 다른 글
[Basic] 빈 스코프 (0) | 2024.08.27 |
---|---|
[Basic] 빈 생명주기 콜백 (0) | 2024.08.27 |
[Basic] 의존관계 주입 (0) | 2024.08.27 |
[Basic] 컴포넌트 스캔 (0) | 2024.08.27 |
[Basic] 싱글톤 컨테이너 (0) | 2024.08.27 |