
Spring & Springboot
[스프링/Spring] 싱글톤(Singleton) 패턴과 스프링 컨테이너
📖 싱글톤 패턴이란 무엇일까? 스프링은 기업용 온라인 서비스 기술을 지원하기 위해 탄생했고, 웹 어플리케이션은 보통 여러 고객이 동시에 요청을 보냅니다. 위와 같은 그림의 예시에서 세 명의 클라이언트가 동시에 어떤 요청을 보내게 되면, DI 컨테이너는 memberService를 생성해서 반환해줍니다. 하지만 이 상황에서는 고객의 요청만큼 객체가 계속 생성되고, JVM 메모리에 객체가 계속 쌓이는 문제가 발생합니다. 아래 테스트 코드와 결과를 통해 확인해보죠. public class SingletonTest { @Test @DisplayName("스프링이 없는 순수한 DI 컨테이너") void pureContainer(){ AppConfig appConfig = new AppConfig(); // 1. 조..