티스토리 뷰
[개발/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로 선언해줍니다.
그리고 위처럼 컨트롤러를 구현합니다.
위 경우 Cart가 매 요청마다 생성될것 같지만 이미 Controller(부모)가 싱글톤으로 잡혀있고 빈을 주입받은 상태이기 때문에 Cart 역시 싱글톤으로 동작합니다. 결국 Cart와 Mart는 동작 상 다른 점이 없습니다.
이럴땐 아래처럼 ProxyMode를 지정하게 되면 싱글톤 객체를 중간 프록시에서 새로운 오브젝트로 전달을 해주게 됩니다.
이전 글에서 Threadlocal을 이용했지만 스프링의 빈 만으로도 쉽게 개발이 가능합니다.
https://github.com/donnert/spring-boot/tree/master/scope-proxy
'개발 > Java, Kotlin' 카테고리의 다른 글
H2 DB 사용 중 file is locked 발생 (1) | 2018.05.18 |
---|---|
spring profile 사용시 주의점 (0) | 2018.03.26 |
Threadlocal을 이용하여 사용자별 요청 처리하기 (0) | 2017.07.14 |
한글 byte로 자르기(깨짐 없이) (0) | 2017.06.30 |
이클립스 플러그인(vrapper) 설정파일(vrapperrc) (0) | 2017.01.26 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 합정
- Access
- resttemplate
- Linux
- Tomcat
- vi
- java
- ls
- 코틀린
- Build
- Shell
- Database
- Kotlin
- vrapper
- maven
- Eclipse
- mybatis
- properties
- IntelliJ
- 톰캣
- oracle
- grant
- 맛집
- vim
- Profile
- boot
- jQuery
- 도커
- Spring
- docker
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
글 보관함