bean3 [Spring] 스프링 핵심 원리 - 기본편 (5) 이전 글 [Spring] 스프링 핵심 원리 - 기본편 (4) 싱글톤 컨테이너 웹 애플리케이션과 싱글톤 스프링은 온라인 서비스 기술을 지원하기 위해 탄생 순수 DI 컨테이너는 AppConfig 요청마다 객체를 새로 생성한다. -> 해당 객체를 1개만 생성 후 공유하도록 설계한다. (싱글톤 패턴) import hello.core.AppConfig; import hello.core.member.MemberService; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; public class SingletonTest { @Test @DisplayName.. 2023. 3. 5. [Spring] 스프링 핵심 원리 - 기본편 (4) 이전 글 [Spring] 스프링 핵심 원리 - 기본편 (3) 스프링 컨테이너와 스프링 빈 스프링 컨테이너 생성 ApplicationContext = 스프링 컨테이너, 인터페이스 스프링 컨테이너는 xml, 혹은 annotation 기반 자바 설정 클래스 AnnotationConfigApplicationContext는 ApplicationContext의 인터페이스 구현체 스프링 빈의 이름은 메소드 이름 사용, 직접 부여도 가능(유니크하도록) 빈 생성 후 의존 관계 주입 컨테이너에 등록된 모든 빈 조회 applicationContext에서 getBean을 사용하여 확인 BeanDefinition에서 역할별 bean 확인 가능 import hello.core.AppConfig; import org.junit.j.. 2023. 2. 11. [Spring] 스프링 핵심 원리 - 기본편 (3) 이전 글 [Spring] 스프링 핵심 원리 - 기본편 (2) 스프링의 핵심 원리 이해2 - 객체 지향 원리 적용 1. 새로운 할인 정책 개발 추가 할인 정책 추가 RateDiscountPolicy, RateDiscountPolicyTest 파일 작성 import hello.core.member.Grade; import hello.core.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.. 2023. 1. 28. 이전 1 다음 반응형