728x90
컨테이너
- 컨테이너는 인스턴스의 생명주기를 관리
- 생성된 인스턴스에게 추가적인 기능 제공
- Servlet을 실행해주는 WAS는 Servlet 컨테이너를 가지고 있음
IoC란?
- Inversion of Control의 약자
- 컨테이너가 코드 대신 오브젝트의 제어권을 가지고 있어 제어의 역전이라고 함
- Servlet 클래스는 개발자가 만들지만, 그 Servlet 메소드를 알맞게 호출하는 것은 WAS
DI
- Dependeny Injection의 약자, 의존성 주입
- 클래스 사이의 의존 관계를 Bean 설정 정보를 바탕으로 컨테이너가 자동으로 연결해줌
Spring에서 자동으로 제공하는 IoC/DI 컨테이너
- BeanFactroy
- IoC/DI에 대한 기본 기능을 가지고 있다.
- ApplicationContext
- BeanFactroy의 모든 기능을 포함, 일반적으로 BeanFactory보다 추천되고 트랜잭션 처리, AOP등에 대한 처리 가 가능하다.
- BeanPostProcessor, BeanFactoryPostProcessor 등의 자동 등록, 국제화 처리, 어플리케이션 이벤트 등을 처리가능
MVC란?
- Model : 뷰가 렌더링 하는데 필요한 데이터, 사용자가 요청한 상품 목록이나, 주문 내역이 이에 해당함
- View : 웹 애플리케이션에서 실제로 보이는 부분, 모델을 사용해 렌더링함 뷰는 JSP, JSF, PDF, XML 등으로 결과를 표현함
- Controller : 사용자의 액션에 응답하는 컴포넌트, 모델을 업데이트하고 다른 액션을 수행
DispatcherServlet
- 프론트 컨트롤러 ( Front Controller )
- 클라이언트의 모든 요청을 받은 후 이를 처리할 핸들러에게 넘기고, 핸들러가 처리한 결과를 받아 사용자에게 응답 결과를 보여줌
- 여러 컴포넌트를 이용해 작업 처리
Spring MVC 설정 개념
- @Configuration : Java Config 파일임을 명시
- @EnableWebMvc : Web에 필요한 대부분의 빈들을 자동으로 설정
- @ComponentScan : Controller, Service 등의 어노테이션이 붙은 클래스를 찾아 스프링 컨테이너가 직접 관리 할 수 있게 해줌
728x90
'SpringBoot' 카테고리의 다른 글
자바 코드로 직접 Spring @Bean을 등록하는 방법 (0) | 2022.12.21 |
---|---|
SpringBoot @Bean, @Autowired, 레이어드 아키텍쳐 (0) | 2022.12.21 |
22.11.11 WEB 이론 (0) | 2022.11.11 |
22.07.05 (0) | 2022.07.05 |
22.03.24 ( URI, HTTP ) (0) | 2022.03.24 |