본문 바로가기

스프링 핵심원리 - 기본편9

싱글톤 컨테이너 1. 웹 애플리케이션과 싱글톤 - 스프링은 태생이 기업용 온라인 서비스 기술을 지원하기 위해 탄생했다. - 스프링 애플리케이션은 웹 애플리케이션이다. - 여러 고객이 동시에 요청을 한다. @Test @DisplayName("스프링 없는 순수한 DI 컨테이너") void pureContainer (){ AppConfig appConfig = new AppConfig(); //1. 조회 : 호출할때마다 객체를 생성 MemberService memberService1 = appConfig.memberService(); //2. 조회 : 호출할때마다 객체를 생성 MemberService memberService2 = appConfig.memberService(); //참조 값이 다른 것을 확인 System.ou.. 2023. 5. 17.
스프링 컨테이너와 스프링 빈 1. 스프링 컨테이너 생성 ApplicationContext : 스프링 컨테이너, 인터페이스 , XML을 기반이나 애노테이션 기반의 자바 설정 클래스 (AppConfig 를 사용했던 방식)로 만들 수 있다. 스프링 컨테이너는 자세하게 BeanFactory , ApplicationContext(대분분 사용) 로 구분 자바 설정 클래스를 기반으로 스프링 컨테이너( ApplicationContext ) //스프링 컨테이너 생성 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); 스프링 컨테이너를 생성할 때는 구성 정보를 지정해주어야 한다. -> AppConfig.class 를 구성 정보로 .. 2023. 5. 10.
스프링 핵심 원리 이해2 - 객체 지향 원리 적용 1. 새로운 할인 정책 개발 할인 정책을 지금처럼 고정 금액 할인이 아니라 좀 더 합리적인 주문 금액당 할인하는 정률% 할인으로 변경하기. how? FixDiscountPolicy 뿐만아니라 RateDiscountPolicy class도 만들어주기 public class RateDiscountPolicy implements discountPolicy{ private int discountPercent = 10; @Override public int discount(Member member, int price) { //control + shift + T를 이용해서 test만들기 if(member.getGrade() == Grade.VIP) { return price * discountPercent/100;.. 2023. 5. 10.
스프링 핵심 원리와 이해1 - 예제 만들기 (주문 도메인 설계) 주문 도메인 클래스 다이어그램 OrderService MemberRepository 2023. 5. 4.