오늘의하루

[Spring] 싱글 톤 관련 정리 및 주의사항 본문

Spring

[Spring] 싱글 톤 관련 정리 및 주의사항

오늘의하루_master 2023. 8. 20. 04:08

스프링 컨테이너는 싱글톤 패턴의 문제점을 해결하면서 객체 인스턴스를 싱글톤으로 관리한다.

  • 싱글톤의 문제
    • 코드가 많다.
    • DIP를 위반하고 OCP를 위반할 가능성이 크기 때문에 유연성이 떨어진다.
    • 테스트가 어렵다.
  •  진짜 주의해야 하는 사항
    • 스프링이 싱글톤을 만들어줘도 이것들은 주의해야한다.
    • 특정 클라이언트에 의존적인 필드가 있으면 안된다.
    • 특정 클라이언트가 값을 변경할 수 있는 필드가 있으면 안된다.
    • 가급적 읽기만 가능해야한다.
    • 필드 대신 자바에서 공유되지 않는 지역변수, 파라미터, ThreadLocal등을 사용해야한다.
Comments