728x90
이 전 글 보기 >> 176일차(모험 85일차) - 스터디 4
//스프링 컨테이너 생성
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);
■ ApplicationContext 는 인터페이스이다. → 다형성이 적용이 된다.
■ 스프링 컨테이너는 XML을 기반으로 만들 수 있고, ( → 요즘에는 사용안함 )
어노테이션 기반의 자바 설정 클래스로 만들 수 있다.
■ 직전에 AppConfig 를 사용했던 방식이 어노테이션 기반의 자바 설정 클래스로 스프링 컨테이너를 만든 것이다.
■ 자바 설정 클래스를 기반으로 스프링 컨테이너( ApplicationContext )를 만들어본다.
• new AnnotationConfigApplicationContext(AppConfig.class);
• → 이 클래스는 ApplicationContext 인터페이스의 구현체이다.
빈 이름 | 빈 객체 |
memberService | memberServiceImpl@x01 |
orderService | OrderServiceImpl@x02 |
memberRepository | MemoryMemberRepository@x03 |
discountPolicy | RateDiscountPolicy@x04 |
→ 이 것을 스프링 빈 이라고 한다.
MemberServiceImpl@x01의 @x01은 memberRepositroy에 참조값을 의미한다. 참조값
" 자바 객체의 hascode " 에 관해 검색해보면 된다.
❗ 빈 이름은 항상 다른 이름을 부여한다 ❗
* pdf 그림 참고 (스프링 빈 의존관계 설정 - 준비, 스프링 빈 의존관계 설정 - 완료)
스프링 빈 객체를 생성하고 그 다음에 의존관계를 주입한다.
그런데 자바 코드로 스프링 빈을 등록하면 생성자를 호출하면서 의존관계 주입도 함께 처리된다.
728x90
'TIL' 카테고리의 다른 글
182일차(모험 91일차) - 스프링 빈 조회 - 동일한 타입이 둘 이상 (0) | 2022.03.15 |
---|---|
181일차(모험 90일차) - 스프링 빈 조회 - 기본 (0) | 2022.03.14 |
177일차(모험 86일차) - error: invalid path (0) | 2022.03.10 |
176일차(모험 85일차) - 스터디 4 (0) | 2022.03.09 |
175일차(모험 84일차) - 웹 소켓 구현 공부 (0) | 2022.03.08 |