웹 애플리케이션과 싱글톤 스프링은 태생이 기업용 온라인 서비스 기술을 지원하기 위해 탄생했다. 대부분의 스프링 애플리케이션은 웹 애플리케이션이다. 물론 웹이 아닌 애플리케이션 개발도 얼마든지 개발할 수 있다. 웹 애플리케이션은 보통 여러 고객이 동시에 요청을 한다. public class SingletonTest { @Test @DisplayName("스프링이 없는 순수한 DI 컨테이너") void pureContainer() { AppConfig appConfig = new AppConfig(); // 1. 조회: 호출할 때마다 객체를 생성 MemberService memberService1 = appConfig.memberService(); // 2. 조회: 호출할 때마다 객체를 생성 MemberSe..
@Configuration
새로운 할인 정책 개발 고정 금액(1000원) 할인 방식 -> VIP일 경우 10% 할인 1. RateDicountPolicy.class public class RateDiscountPolicy implements DiscountPolicy{ private int discountPercent = 10; @Override public int discount(Member member, int price) { if(member.getGrade() == Grade.VIP) { return price * discountPercent / 100; } else { return 0; } } } ctrl + shift + T => 테스트 자동 생성 2. RateDiscountPolicyTest class RateDisc..