728x90 스프링 기본5 인프런 스프링 기본 강의 정리 #5 1. 웹 애플리케이션과 싱클톤 대부분의 스프링 애플리케이션은 웹 애플리케이션이며, 웹 애플리케이션은 보통 여러 고객이 동시에 요청을 한다. 이때 여러 클라이언트가 memberService를 요청할 때마다 컨테이너는 다른 memberService를 만든다. 이를 확인해보기 위해 테스트 코드를 작성해보자. -스프링 없는 순수한 DI 컨테이너 테스트 src/test에 singleton 패키지를 생성하고, 그 아래에 SingletonTest 클래스를 생성한다. import hello.core1.AppConfig; import hello.core1.member.MemberService; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api... 2023. 11. 25. 인프런 스프링 기본 강의 정리 #4 1. 스프링 컨테이너 생성 //스프링 컨테이너 생성 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); ApplicationContext 를 스프링 컨테이너이자 인터페이스이다. 그리고 new AnnotationConfigApplicationContext(AppConfig.class)는 ApplicationContext의 구현체이다. 스프링 컨테이너의 생성 과정을 알아보도록 하자. 1) 스프링 컨테이너 생성 스프링 컨테이너를 생성하면 그 안에 스프링 빈 저장소가 생성된다. 이때 구성 정보(AppConfing.class)를 지정해줘야 한다. 2) 스프린 빈 등록 @Bean이 붙은 코드의 .. 2023. 11. 23. 인프런 스프링 기본 강의 정리 #3 1. 새로운 할인 정책 개발 할인 정책 인터페이스를 구현하는 새로운 구현 클래스인 정률 할인 정책 클래스를 생성한다. src/main/java/discount에 RateDiscountPolicy 클래스를 생성한다. import hello.core1.member.Grade; import hello.core1.member.Member; public class RateDiscountPolicy implements DiscountPolicy{ private int discountPercent=10; // 할인해주는 퍼센트 값 @Override public int discount(Member member, int price) { if(member.getGrade()== Grade.VIP){ return price.. 2023. 11. 20. 인프런 스프링 기본 강의 정리 #2 1. 비즈니스 요구사항과 설계 -회원 회원을 가입하고 조회할 수 있다. 회원은 일반과 VIP 두 가지 등급이 있다. 회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. (미확정) -주문과 할인 정책 회원은 상품을 주문할 수 있다. 회원 등급에 따라 할인 정책을 적용할 수 있다. 할인 정책은 모든 VIP는 1000원을 할인해주는 고정 금액 할인을 적용해달라. (나중에 변경 될 수 있다.) 할인 정책은 변경 가능성이 높다. 회사의 기본 할인 정책을 아직 정하지 못했고, 오픈 직전까지 고민을 미루 고 싶다. 최악의 경우 할인을 적용하지 않을 수도 있다. (미확정) -> 미확정 부분은 객체지향 설계 방법을 이용해서, 인터페이스를 만들고 구현체를 언제든지 갈아끼울 수 있도록 설계 2. 회.. 2023. 11. 19. 이전 1 2 다음 728x90