78. Spring WebMVC 프레임워크 도입하기
-Spring WebMVC 사용법
CORS : cross oigin
웹페이지를 가져온 곳이 아닌 다른 출처에 요청을 하는 방법
DispatcherServlet /프론트 컨트롤러
서블릿 등록
1. 고전적 방법: Web information/web.xml 에 DispatcherServlet을 알린다.
2. ServletContextListner에서 직접 객체 생성과 등록
노란색: 서블릿 컨텍스트에 디스패처서블릿 등록
SpringServletContainerInitialLizer는 1-2-3 과정으로 생김
SpringServletContainerInitialLizer/ onStartup으로 웹어플리케이션이니셜라이저가 호출됨.
그리고 그 인터페이스를 구현한 클래스가 잇으면 호출됨 . 없으면 무시
톰캣서버 시작할때 ioc컨테이너 만들고 프론트컨트롤러 만들어짐.
3. Spring의 WebApplicationInitialLizer 객체 생성과 등록
ioc컨테이너 만들고 app에 주입
ioc 컨테이너가 안 만들어지면 컨텍스트로더 리스너도 안 만듬.
MyWebApplicationInitializer3 생성
최종:
WebApplicationiInitializer를 구현하는 4가지 방법
결론:
Spring WebMVC 의 기본 구조
79. Spring IoC컨테이너를 Root Context와 Servlet Context로 분리하기
-ContextLoaderListener의 IoC 컨테이너의 역할 이해
-DispatcherServlet의 IoC 컨테이너의 역할 이해
- 설정하는 방법
//AspectJ Weaver 라이브러리
implementation 'org.aspectj:aspectjweaver:1.9.20.1'
@Override
protected Class<?>[] getRootConfigClasses() {
// ContextLoaderListener의 IoC컨테이너가 사용할 java config 클래스를 지정한다.
//=> AppWebApplicationInitializer에서 RootConfig를 가지고 ContextLoaderListener를 만들었기 때문에
// 여기서는 설정하지 않는다. 한 군데서 설정하면 다른 곳들에서는 할 필요 없다.
return null;
}
webAppliciationContext가 ioc 컨테이너임 = 빈 컨테이너
루트가: 컨텍스트 로더 리스너가 관리하는 ioc 컨테이너임
디서가 자신만의 각각 아이오씨컨테이너가 잇는데 루트를 공유함
다 같은 그림임
'[네이버클라우드] 클라우드 기반의 개발자 과정 7기 > 웹프로그래밍' 카테고리의 다른 글
9/7 프로젝트 (0) | 2023.09.07 |
---|---|
[NC7기-93일차(9월7일)] - 웹프로그래밍 74일차 (0) | 2023.09.07 |
9/6 프로젝트 (0) | 2023.09.06 |
[NC7기-91일차(9월5일)] - 웹프로그래밍 72일차 (0) | 2023.09.05 |
9/5 프로젝트 74 75 76 77 (0) | 2023.09.05 |