# root-context.xml
프로젝트의 로딩 구조
프로젝트 구동 시 관여하는 XML : web.xml root-context.xml servlet-context.xml 세분화하면 Tomcat 구동과 관련된 설정은 web.xml 스프링과 관련된 설정은 root-context.xml과 servlet-context.xml이다.
Java 설정을 이용하는 경우
최근 Java설정을 이용하는 경우도 증가하고 있기 때문에 같이 학습 Java 설정을 이용하는 경우 XML 대신 사용할 여러 설정 파일을 직접 작성해야 한다. 대개로 어노테이션을 이용한다. web.xml과 servlet-context.xml, root-context.xml을 삭제해야 한다. 1. web.xml 1) web.xml을 삭제하면 pom.xml에서 에러가 발생하는데 이는 웹 프로젝트들이 기본적으로 web.xml을 사용하는 것을 기본으로 설정했기 때문이다. 이를 해결하기 위해서는 pom.xml 하단부에 있는 plugins 내에 아래 코드를 추가해야한다. 2) <span
root-context.xml에 대하여
root-context.xml이란? 스프링이 로딩되면서 읽어 들이는 문서. 이미 만들어진 클래스들을 이용해서 스프링의 빈Bean으로 등록할 때 사용 프로젝트에 직접 작성하는 클래스들은 어노테이션을 이용하고 외부 jar 파일 등으로 사용하는 클래스들은 Bean 태그를 이용해서 작성하는 경우가 대부분이다.
root-context.xml로 bean 설정 시 일어난 에러들 (1)
비어있는 샘플DAO와 Service 클래스를 root-context.xml을 이용해서 Bean 등록하여 작동하게 하는지 테스트코드를 돌리기로 했다. 1) class file has wrong version 61.0, should be 52.0 테스트를 돌려보니 이런 메시지가 뜨며 테스트 에러가 났다. 컴파일 시 jdk와 프로젝트의 버전이 달라 일어나는 에러였다. 현재 java8을 사용중인데 spring은 6.0.0을 다운받았다. java8에 맞는 spring은 5.x.x이다. 2) Expression parsing failed; nested exception is java.lang.NoSuchMethodError 메서드를 찾을 수 없어 에러를 발생시킨다는 멘트와 함께 테스트가 끝나버렸다. 메서드가 진짜 존재하지 않는 경우 사용한 메서드가 내부 API인 Assertions를 이용해서 인자값인 SampleService(비어있
Spring legecy project 주요 설정 파일
1) pom.xml 스프링 프로젝트는 메이븐 기반 프로젝트이다 메이븐은 외부 라이브러리를 관리한다 pom.xml은 메이븐 프로젝트에 포함시킬 라이브러리를 관리한다 java version : 1.8 spring version : 4.3.30.RELEASE 프로젝트 업데이트 : Alt + F5 2) web.xml 웹 프로그램으로 가져야할 기본 사항을 설정 모든 요청을 처리하는 DispatcherServlet 을 선언 인코딩 필터, 서블릿 상세 설정 파일 경로 포함 web-app version : 3.1 3) root-context.xml 요청과 응답에 상관없이 프로젝트가 참조해야할 객체를 선언 resources 4) servlet-context.xml 주로 요청과 응답에 관여하는 객체를 선언

[Spring]servlet-context.xml/root-context.xml/web.xml 차이점
1. servlet-contex.xml | servlet-contex.xml | | - | | WEB Application 에서 client 요청을 받기 위한 설정 | | JSP와 관련있는 객체(bean) 설정 - controller, MultipartResolver, Interceptor(로그인 등) | | 어노테이션 | | URL 관련 설정 | > servlet에서 보듯이 요청과 관련된 객체를 정의 >url과 관련된 controller나, @(어노테이션), ViewResolver, Interceptor, MultipartResolver 등의 설정 ![](htt