XML Configuration
1. web.xml
- Deployment Descriptor(배포 서술자)라고 불리며 웹페이지의 환경 설정 부분을 담당
- WAS가 최초 구동 될 때 web.xml을 읽고 그에 해당하는 설정을 구성
- 설정을 위한 설정 파일
- 스프링의 WebApplicationContext의 계층 관계는 부모-자식 관계로 이루어진 두 개의 Context가 존재
- ContextLoaderListener가 부모의 역할을 수행하는 Root WebApplicationContext를 생성하고 DispatcherServlet은 자식의 역할로서 부모를 상속 받아 사용하는 Servlet WebApplicationContext를 생성
- Root WebApplicationContext : Application 전역에서 사용 가능한 WebApplicationContext이며, 서비스 계층이나 DAO, DB를 포함한 웹 환경의 설정을 담당(공유 목적)
- Servlet WebApplicationContext : 해당 servlet에서만 사용 가능하며 Controller, ViewResolver, HandlerMapping 같은 서블릿 차원의 빈 객체 설정을 모아두는 설정 공간
→ 공통적으로 <param-name>을 ‘contextConfigLocation’으로 동일하게 맞춰줌으로써 상속 관계를 가지게 되고 스프링에서 사용되는 Context 계층 관계를 연결
2. servlet-context.xml
- Servlet WebApplicationContext가 참조하는 설정 모음
- view와 관련 있는 빈 객체를 설정(controller, MultipartResolver, Interceptor 등…) </aside>
3. root-context.xml
- Root WebApplicatonContext가 참조하는 설정 모음
- view와 관련 없는 객체(Bean)를 설정(serivce, repository, dao, DB…) </aside>
Java Configuration
1. WebInitializer.java
- web.xml을 대체한 Java 파일 </aside>
2. ServletContext.java
- servlet-context.xml을 대체한 파일 </aside>
3. RootContext.java
- root-context.xml을 대체한 파일 </aside>
XML Configuration vs Java Configuration
[Java 설정의 장점]
- 더 많은 정보를 얻을 수 있다.
- 설정의 변경이 용이하다
- 컴파일 에러를 얻을 수 있다.
'그룹스터디' 카테고리의 다른 글
JPA Auditing (0) | 2022.12.30 |
---|---|
일급 컬렉션(First Class Collection) (0) | 2022.12.23 |
DAO, DTO, VO, Entity (0) | 2022.12.07 |
인터페이스, 추상클래스, 다형성 (0) | 2022.11.25 |
디자인 패턴 - Singletone (0) | 2022.11.18 |