Spring Container
Spring Container
Spring Container
- 스프링 컨테이너는 싱글톤 패턴을 별도로 적용하지 않아도 객체 인스턴스를 자동으로 싱글톤으로 관리
- 이를 통해 싱글톤 패턴의 문제점을 해결
- 싱글톤을 위한 별도의 코드를 작성할 필요 없음
- OCP, DIP 등을 지키며 유연하게 코드 작성 가능
- Spring bean이 싱글톤으로 관리됨
- 물론 bean을 싱글톤으로 사용하지 않는 경우도 존재
Spring Container 주의점
- Spring container를 비롯해 싱글톤 패턴을 사용 시 주의해야 함
- 여러 클라이언트가 한 개의 객체 인스턴스를 공유하므로, 특정 클라이언트에 의존적이면 안 됨
- 특정 클라이언트가 값을 변경할 수 있다면, 큰 문제 발생 가능
- 가급적 읽기만 가능하도록
- Spring bean의 필드에 공유 값을 설정하지 말 것
References
- 스프링 핵심 원리 기본편 - 김영한 (https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard)