컴퓨터공학/Spring framework 분석 개념> Servlet Container 2021. 12. 28. Container 스프링 핵심 작동 방식은 개발자가 직접 오브젝트를 생성, 호출이 아니라 Spring Container를 통해 관리되는 인스턴스 Bean으로 관리. Bean을 만들기 위해 설정 정보가 필요, 설정 정보는 IOC 컨테이너가 필요로 하는 설정 메타 정보. 다시 말해서 Bean을 어떻게 생성하고 동작할 것인가에 관한 정보. Bean 설정 정보는 BeanDefinition 인터페이스로 표현. IOC 컨테이너는 BeanDefinition 으로 만들어진 메타 데이터를 가진 오브젝트를 사용하여 IOC와 DI 작업. IOC 는 Bean 메타 정보를 바탕으로 Bean Object를 생성 프로퍼티나 생성자로 의존 오브젝트를 주입하는 DI 작업 수행 따라서 Spring Container 에서 인스턴스를 관리.. 개념> DispatcherServlet과 WebApplicationContext 2021. 12. 22. 2. DispatcherServlet 1) WebApplicationContext DispatcherServlet는 WebApplicationContext를 갖고 있다. DispatcherServlet은 프론트 컨트롤러 서블릿이다. 서블릿이 초기화 할 때 자신만의 context 를 생성하고 초기화한다. 여러 개가 만들어질 수 있으며 각각 고유한 WebApplicationContext가 있다. Context의 갯수는 각 서블렛 인스턴스 당 하나이다. 그리고 Root application context를 찾아서 자신의 부모 context로 등록하여 사용한다. 여러 개의 WebApplicationContext는 하나의 Root WebApplication Context를 공유한다. Root WebApplicat.. 개념> Listener와 Root context의 설정법 2021. 12. 22. 1. ContextLoaderListener 1) Listener와 Root WebApplicationContext 2) config 설정법 종류 프롤로그 ApplicationContext 종류 요약 StaticApplicationContext : 빈 설정 메타정보를 담은 BeanDefinition 오브젝트를 이해하기 위해 존재. 컨테이너에서 빈 등록 방식을 확인하는 목적 GenericApplicationContext : Xml을 리더기로 읽어서 BeanDefinition으로 변환해 사용, JUnit 테스트에서 사용 GenericXmlApplicationContext : GenericApplicationContext에 XmlBeanDefinitionReader 내장한 Application Context .. 개념> 스프링과 Application Context 2021. 12. 20. IOC와 DI를 쓰는 이유 스프링 컨테이너는 객체 생성과 소멸까지 라이프사이클을 관리. 객체 라이프 사이클 관리를위해 IOC 와 DI를 사용. IOC(Inversion of Control) 제어의 역전? 객체가 다른 객체 생성을 담당하면 다른 객체에 의존성이 생기게 된다. 의존성이 생기면 수정 사항이 생길 때 모두 수정해야 한다. 따라서 Container가 객체 생성을 담당하고, 객체는 추상화하여 설계하면 객체 간의 의존성이 줄어들어서 수정사항이 생겨도 영향을 서로 받지 않게 된다. Container가 객체를 생성하고 객체를 주입하는 것을 Dependency Injection(DI)라고 한다. 객체를 생성하고 의존성을주입하는 컨테이너를 IOC Container라고 한다. 스프링컨테이너, IOC Conta.. 이전 1 다음