본문 바로가기
그룹스터디

XML Configuration vs Java Configuration

by 민초닷컴 2022. 12. 14.

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