[싱글톤 방식의 주의점]
무상태로 설계해야 한다.
여러 클라이언트가 하나의 객체 인스턴스를 공유하기 때문에 상태유지를 하면 안 된다.
1. 특정 클라이언트에 의존적인 필드가 있으면 안 된다.
2. 변경 또한 하면 안 된다.
3. 읽기만 하는 것이 좋다.
4. 필드 대신 지역변수,파라미터,쓰레드로컬 등을 사용해야 한다.
스프링 빈의 필드에 공유값을 설정하면 ㄹㅇ 망할 수 있다.
예를들어 A,B의 요청이 있는데 A가 값 꺼내려고 하는 사이에 B가 오면는
A의 값은 증발해버리고 B의 값이 A의 결과값에 들어가 버린다.
'스프링' 카테고리의 다른 글
@ComponentScan 컴포넌트 스캔 (0) | 2021.05.09 |
---|---|
@Configuration , 그리고 싱글톤 (0) | 2021.05.08 |
스프링 컨테이너(싱글톤) (0) | 2021.05.03 |
싱글톤 패턴 (0) | 2021.05.03 |
인터셉터 (0) | 2021.05.01 |