티스토리 뷰

코드로 배우는 스프링 웹 프로젝트(구멍가게 코딩단) p.1 ~ 46 내용 정리
2021.12.29(수) 21:40 ~ 22:10

 

 

1.5 Java Configuration을 하는 경우
Eclipse(STS)를 통해 생성하는 'Spring Legacy Project'의 경우 XML 기반으로 스프링 관련 설정을 하도록 되어 있다.
프로젝트가 생성된 후에는 다음과 같은 작업을 진행한다.
1. web.xml의 파일 삭제 및 스프링 관련 파일 삭제
-web.xml, servlet-context.xml, root-context.xml

2. pom.xml의 수정 및 스프링 버전 변경

3. Java 설정 관련 패키지 생성
java 설정을 이용하는 경우에는 XML 대신 설정 파일을 직접 작성할 필요가 있다.
스프링은 @configuration이라는 어노테이션을 이용해서 해당 클래스의 인스턴스를 이용해서 설정 파일을 대신한다.
```
import org.springframework.context.annotation.Configuration;

@Configuration
public class RootConfig {
}
```

 

 

기존 프로젝트에서는 web.xml을 이용해서 스프링을 구동시켰지만, XML을 사용하지 않는 경우에는 이 역할을 대신하는 클래스를 작성해서 처리한다.
WebConfig 클래스를 AbstractAnnotationConfigDispatcherServletInitializer라는 긴 이름의 추상 클래스를 상속하도록 작성한다.
작성된 WebConfig 클래스는 3개의 추상 메서드를 오버라이드 하도록 작성된다.
getRootConfig() 클래스는 'root-context.xml'을 대신하는 클래스를 지정하는데, 예제는 RootConfig 클래스를 사용하므로 변경한다.
작성된 프로젝트를 Tomcat을 통해 실행하면 간단하게 스프링 관련된 로그가 기록되는 것을 확인할 수 있다.
```
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

public class WebConfig extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class[] getRootConfigClasses() {
//return null;
// 변경
return new class[] {RootConfig.class};
}

@Override
protected Class[] getServletConfigClasses() {
return null;
}

@Override
protected Class[] getServletMappings() {
return null;
}
}
```


'spring' 카테고리의 다른 글

스프링의 주요 특징  (0) 2022.01.02
프로젝트 Packaging WAR, JAR 비교  (0) 2020.07.12
애노테이션  (0) 2020.07.12
maven  (0) 2019.08.13
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday