싱글톤
-
[Spring] 싱글톤 컨테이너Backend Dev/Spring Framework 2022. 3. 8. 21:49
웹 애플리케이션과 싱글톤 스프링은 기업용 온라인 서비스 기술을 지원하기 위해 탄생했으며 대부분 스프링 애플리케이션은 웹 애플리케이션이다. 이러한 웹 앱은 보통 여러 클라이언트가 동시에 요청을한다. 순수 자바 코드로 구현된 DI 컨테이너(AppConfig)의 경우 클라이언트에서 요청을 할 때마다 아래와 같이 객체를 새로 생성하여 서로 다른 참조값을 갖기에 메모리 낭비가 심한 문제가 있다. 이는 해당 객체가 딱 1개만 생성(같은 참조값)되고, 공유하도록 설계하면 되는데 이를 싱글톤 패턴이라 한다. public class SingletonTest { @Test @DisplayName("스프링 없는 순수한 DI 컨테이너") void pureContainer() { AppConfig appConfig = new ..