본문 바로가기

ThreadLocal

@Scope 어노테이션 사용하기(request+ProxyMode) [개발/JAVA] - Threadlocal을 이용하여 사용자별 요청 처리하기 ThreadLocal과 같이 보시면 좋습니다. 스프링에서 빈 Scope 타입은 여러가지 방식이 있으며 아래를 참고해 주세요. https://docs.spring.io/spring/docs/3.0.0.M3/reference/html/ch04s04.html 별도의 옵션이 없다면 빈은 싱글톤으로 관리되며 부모의 속성을 따라갑니다. 즉 controller는 따로 설정을 하지 않았기 때문에 singleton으로 동작하게 되며 그 안에서 주입받은 빈 역시 scope를 request로 줘도 singleton으로 동작하게 됩니다. 빈을 생성해 주고 위에 보이는것처럼 scope를 request로 선언해줍니다. 그리고 위처럼 컨트롤러를 구현합니다.. 더보기
Threadlocal을 이용하여 사용자별 요청 처리하기 개발시 소스 전체에서 사용할 수 있는 전역변수처럼 데이터를 할당하고 싶을떄가 있습니다. Threadlocal을 이용하여 이를 구현해 봅니다. ShoppingController.java @RestController public class ShoppingController { private int melon; @RequestMapping("/") private String test() { this.addMelon(); return String.valueOf(melon); } private void addMelon() { melon++; } } 사용자별로 요청 시 카트에 멜론을 담는 기능을 구현하려고 합니다. 이 떄 카트 수량은 여러 메소드에서 사용할 수 있기 때문에 멤버변수로 선언을 합니다. 이렇게 작성 후.. 더보기