스프링 프레임워크의 핵심 컴포넌트로 자바 객체의 생명 주기를 관리하며 추가적인 기능을 제공.
스프링 컨테이너는 자바 객체인 빈을 의존성 주입(DI)의 과정으로 관리한다.
또한, BeanFactory와 ApplicationContext의 두가지로 MVC 패턴에 맞게 코드를 작성하고 Test 한다.
BeanFactory는 최상위 인터페이스로 빈을 등록,생성,조회하는 역할을 하며 getBean()을 통해 인스턴스화 한다.
ApplicationContext는 BeanFactory의 기능을 상속받아 제공하기에 부가적인 기능을 제공한다.
Java의 어노테이션 기능을 통해 설정하는데 XML을 활용한 방식도 있다.
//Configuration 클래스로 스프링 컨테이너 생성
ApplicationContext acConfig = new AnnotationConfigApplicationContext(AppConfig.class);
//XML 파일로 스프링 컨테이너 생성
ApplicationContext acXml = new GenericXmlApplicationContext("appconfig.xml");
정적인 클래스 의존관계를 변경하지 않고, 동적인 객체 인스턴스 의존관계를 쉽게 변경할 수 있다.
아직까지 완벽하게 이해되지 않는 느낌이라...
깊게 학습하여 포스팅을 보완해나가야겠다
많은 도움이 되었습니다, 감사합니다.