목록분류 전체보기 (796)
코드 그라데이션
스프링 빈 조회 - 상속 관계 부모 타입으로 조회하면, 자식 타입도 함께 조회한다. 그래서 모든 자바 객체의 최고 부모인 `Object` 타입으로 조회하면, 모든 스프링 빈을 조회한다. 먼저 static 클래스 등록 // static 클래스 추가하여 빈 두 개 등록 @Configuration static class TestConfig { @Bean public DiscountPolicy rateDiscountPolicy() { return new RateDiscountPolicy(); } @Bean public DiscountPolicy fixDiscountPolicy() { return new FixDiscountPolicy(); } } 첫 번째 메서드 @Test @DisplayName("부모 타입으로..
Case 1) 조회 - 기본 스프링 컨테이너에서 스프링 빈을 찾는 가장 기본적인 조회 방법 `ac.getBean(빈이름, 타입)` `ac.getBean(타입)` 조회 대상 스프링 빈이 없으면 예외 발생 => `NoSuchBeanDefinitionException: No bean named 'xxxxx' available ApplicationContextBasicFindTest package inflearn.spring_core.beanfind; import inflearn.spring_core.config.AppConfig; import inflearn.spring_core.member.MemberService; import inflearn.spring_core.member.MemberServiceImp..
스프링 컨테이너에 실제 스프링 빈들이 잘 등록이 되었는지 확인한다. ApplictaionContextInfoTest package inflearn.spring_core.beanfind; import inflearn.spring_core.config.AppConfig; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.AnnotationConfigApplicationContext; class ApplicationContextI..
스프링 컨테이너 생성 스프링 컨테이너의 생성 과정 1. 스프링 컨테이너 생성 2. 스프링 빈 등록 빈 이름 3. 스프링 빈 의존관계 설정 - 준비 4. 스프링 빈 의존관계 설정 - 완료 참고 스프링은 빈을 생성하고, 의존관계를 주입하는 단계가 나누어져 있다. 그런데 이렇게 자바 코드로 스프링 빈을 등록하면 생성자를 호출하면서 의존관계 주입도 한번에 처리된다. 여기서는 이해를 돕기 위해 개념적으로 나누어 설명했다. 자세한 내용은 의존관계 자동 주입에서 다시 다룬다. 정리* 스프링 컨테이너를 생성하고, 설정(구성) 정보를 참고해서 스프링 빈도 등록하고, 의존관계도 설정했다. 이제 스프링 컨테이너에서 데이터를 조회해보겠다.
스프링으로 전환하기 지금까지 순수한 자바 코드만으로 DI를 적용했다. 이제 스프링을 사용한다. AppConfig 스프링 기반으로 변경 package inflearn.spring_core.config; import inflearn.spring_core.discount.DiscountPolicy; import inflearn.spring_core.discount.RateDiscountPolicy; import inflearn.spring_core.member.MemberRepository; import inflearn.spring_core.member.MemberService; import inflearn.spring_core.member.MemberServiceImpl; import inflearn.spr..