본문 바로가기

ApplicationContext3

4-6. BeanFactory와 ApplicationContext 스프링 컨테이너를 구성하는 BeanFactory와 ApplicaionCotext에 대해 간단히 짚어본다. 스프링 컨테이너 우리는 일반적으로 ApplicaionContext를 스프링 컨테이너라고 한다. 하지만, 정확히 말하면 스프링 컨테이너는 BeanFactory와 ApplicationContext로 구성된다. BeanFactory Bean은 스프링 컨테이너의 최상위 인터페이스로, 스프링 빈을 관리하고 조회하는 역할을 담당한다. 즉, 우리가 사용하는 getBean()은 BeanFactory에서 제공하는 기능이다. ApplicaionContext BeanFactory의 기능을 모두 상속받아 제공하는 인터페이스다. BeanFactory의 빈 관리 및 검색 기능에 더해, 어플리케이션 개발에 필요한 여러 부가 기.. 2023. 11. 27.
4-1. 스프링 컨테이너 생성 이번 섹션부터 본격적으로 스프링을 사용해본다. 먼저 스프링 컨테이너부터 생성해보자. 스프링 컨테이너 스프링의 핵심은 스프링 컨테이너와 스프링 빈이라고 할 수 있다. 스프링 컨테이너란 스프링 빈을 담아놓고 관리하는 것이라는 개념이다. 조금 추상적인데, 개념적으로는 스프링 빈을 담아놓고 관리하는 환경, 구체적으로는 ApplicationContext 인터페이스와 그 구현체들을 말한다. 컨테이너라는 개념 자체가 스프링에서만 사용하는 것이 아니라, 사용할 객체들을 담아놓는 것으로 여기저기서 사용하는 개념이다. 스프링 컨테이너 생성 스프링 컨테이너는 다음과 같이 생성한다. ApplicationContext applicationContext = new AnnotationConfigApplicationContext(A.. 2023. 11. 7.
19. 스프링으로의 전환 이제, 지금까지 작성한 내용을 스프링 기반으로 전환해보자. AppConfig AppConfig 클래스에 @Configuration 어노테이션을, 각 메서드에는 @Bean 어노테이션을 붙인다. 어노테이션을 붙일 때 import되는 클래스 혹은 패키지명에 주의한다. AppConfig.java package hdxian.hdxianspringcore; import hdxian.hdxianspringcore.discount.DiscountPolicy; import hdxian.hdxianspringcore.discount.FixDiscountPolicy; import hdxian.hdxianspringcore.discount.RateDiscountPolicy; import hdxian.hdxianspringco.. 2023. 10. 25.