스프링의 request 스코프란?
2022. 1. 14. 12:25
Spring
스프링에는 웹 스코프, 싱글톤 스코프, 프로토타입 스코프 크게 3가지가 있다. 그 중 웹 스코프의 request 스코프를 알아 보자. Request 스코프란 웹 스코프는 3가지로 나뉜다. request : 웹 요청이 들어오고 나갈 때 까지 session : 웹 세션이 생성되고 종료될 때 까지 applicaiont : 웹의 서블릿 컨텍스트와 같은 범위 ??????? reqest 스코프는 http의 요청이 오고 응답해서 나갈 때 까지 스프링 빈에 관리되는 스코프이다. 싱글톤과는 다르게 http 요청 마다 개별로 빈을 생성해준다. 언제 사용할 수 있을까? 여러가지가 있겠지만 사용자별 로그에 사용될 수 있다. 10명의 사용자가 요청을 했는데 로그가 어떤 사용자인지 구분없이 보인다면 로그를 보기가 힘들 것이다. ..
스프링의 프로토타입과 싱글톤 빈 같이 사용하기
2022. 1. 14. 08:35
Spring
싱글톤으로 클라이언트의 요청을 받으며, 프로토타입 빈을 주입받아 사용하고 싶을 때 어떻게 해야 할까? 일단 주입을 받아보면 어떻게 될까? 싱글톤 빈에 프로토타입빈을 주입을 받아 보자. 싱글톤 빈은 생성 시점에 생정자 주입을 받았으므로 프로토타입 빈을 새로 생성하지 않게 된다. 이렇게 되면 결국 싱글톤과 다를 바가 없게 된다. 테스트 결과를 살펴보면 count2는 값이 2인 것을 확인할 수 있다. @Test void singletonClientUsePrototype() { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(ClientBean.class, PrototypeBean.class); ClientBean cl..