반응형 SpringBoot3 [스프링 핵심 원리- 기본편] 싱글톤 패턴3 스프링 컨테이너가 싱글톤 패턴의 역할을 한다. 하지만, 특정 클라이언트가 값을 변경할 수 있는 필드가 있는 경우 오류가 발생할 수 있다. public class StatefulService { private int price; // 상태를 유지하는 필드 10000 -> 20000 public void order(String name, int price){ System.out.println("name = "+name+"price = "+price); this.price = price; //여기가 문제! } public int getPrice(){ return price; } } 주문을 할 수 있는 메소드와 주문한 가격을 반환 하는 메소드를 작성하였다. 그래서 정상적으로 작동하는 지 확인하기 위해 아래와 같.. 예비개발자/SPRING 2023. 8. 17. [스프링 핵심 원리- 기본편] 싱글톤 패턴2 싱글톤 패턴은 하나의 객체 인스턴트만 생성할수 있게 하여 메모리 낭비와 속도저하를 막는 패턴이다. 지난 포스팅에서 다루었듯이 싱글톤으로 생성하기 위해서는 몇 줄의 코드를 작성했어야 했다. 하지만 스프링 컨테이너가 이런 수고스러움 덜어주고 자동으로 객체 인스턴스를 하나만 만들도록 해준다. @Test @DisplayName("스프링 컨테이너와 싱글톤") void springContainer(){ ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); MemberService memberService1 = ac.getBean("memberService",MemberService.class); MemberService me.. 예비개발자/SPRING 2023. 8. 17. [스프링 핵심 원리- 기본편] 싱글톤 패턴 1 싱글톤 패턴에 대해서는 자바 프로그래밍 입문이라는 책을 공부했을 때 잠깐 접한 적이 있었다. 그때는 어영부영 지나갔는데 인강에서 싱글톤 패턴이라는 개념이 등장하였다. 싱글톤 패턴이 뭐냐? 이름에서도 알 수 있듯이 생성자가 여러 번 호출되도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴하는 패턴이다. 싱글톤 패턴을 사용하는 이유는 매번 생성자를 호출하다 보면 메모리 측면에서 낭비가 발생한다고 한다. 또한 과부하걸려서 속도가 느려진다. 하지만 요즘에는 컴퓨터가 좋아져서 별로 느낄 수없다고.... public class SingletonService { private static final SingletonService instance = new Sing.. 예비개발자/SPRING 2023. 8. 16. 이전 1 다음 반응형