스프링 웹 프로젝트를 Java Configuration 으로 설정하기
도움이 되셨다면 광고 한 번 클릭 부탁드립니다. 한 번의 클릭이 제게 큰 힘이 된답니다!^^
보통 스프링 프로젝트를 한다고 하면 xml 로 설정을 하는 것으로 생각합니다. spring 3버전 이후부터는 xml로 설정했던 것을 Java로 설정할 수 있고, 점차 java configuration이 증가하고 있다 합니다.
이번 글에서는 Java로 Configuration 설정하는 방법에 대해 알아보도록 합니다.
1. 스프링 프로젝트 Java Configuration 을 위한 정리
1) web.xml 과 spring 관련 xml 을 모두 삭제합니다. 위 보이는 불긍 네모 안에 있는 것들 모두 삭제합니다.
- web.xml, servlet-context.xml, root-context.xml 등
2) pom.xml 파일 내에 <plugins> 태그 하위에 다음 설정을 추가합니다.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
3) pom.xml 의 스프링 버전도 변경합니다.
<properties>
<java-version>1.8</java-version>
<org.springframework-version>5.0.7.RELEASE</org.springframework-version>
<org.aspectj-version>1.6.10</org.aspectj-version>
<org.slf4j-version>1.6.6</org.slf4j-version>
</properties>
4) pom.xml 의 컴파일 관련 버전 역시 1.8버전으로 수정하고 'Maven > Update Project'를 실행합니다.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgument>-Xlint:all</compilerArgument>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>
Java 설정의 경우 기존 프로젝트와 달리 여러 설정 파일을 작성하고 설정을 추가해야만 정상적으로 동작합니다.
2. @Configuration
스프링은 @Configuration 이라는 어노테이션을 이용해 설정 파일을 대신합니다.
Package 'com.project.config'를 생성하고, 'RootConfig.java' 파일을 생성하고 클래스에 @Configuration 어노테이션을 사용한 코드를 작성합니다.
3. web.xml을 대신하는 클래스 작성
web.xml을 삭제했기 때문에 java로 web.xml에서 설정했던 클래스를 작성해야 합니다.
Package 'com.project.config' 내에, 'WebConfig.java' 파일을 생성하고,
AbstraAbstractAnnotationConfigDispatcherServletInitializer 라고 하는 추상 클래스를 상속하도록 작성합니다.
WebConfig.java
package com.project.config;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
public class WebConfig extends AbstractAnnotationConfigDispatcherServletInitializer{
@Override
protected Class<?>[] getRootConfigClasses() {
// TODO Auto-generated method stub
return null;
}
@Override
protected Class<?>[] getServletConfigClasses() {
// TODO Auto-generated method stub
return null;
}
@Override
protected String[] getServletMappings() {
// TODO Auto-generated method stub
return null;
}
}
추상클래스를 상속받으면 3개의 추상 메서드를 오버라이드 하도록 작성됩니다.
첫 번째 메소드 getRootConfigClasses 는
'root-context.xml'을 대신하는 클래스를 지정하고, 여기선 RootConfig 클래스를 사용하므로 다음과 같이 내용을 변경합니다.
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[] {RootConfig.class};
}
4. 실행 test
tomcat을 실행시키면 스프링 로그가 찍히는 것을 확인할 수 있습니다.
이번 포스트에서는 스프링 웹 프로젝트를 Java Configuration 으로 설정하기에 대해 알아보았습니다.
도움이 되셨다면 광고 한 번 클릭 부탁드립니다. 한 번의 클릭이 제게 큰 힘이 된답니다!^^
'java, spring' 카테고리의 다른 글
스프링 프레임워크가 root-context.xml 읽어 들이는 순서 (0) | 2021.05.08 |
---|---|
스프링 프로젝트에 Lombok 적용과 의존성 주입(DI) 확인하기 (1) | 2021.05.05 |
스프링 프레임워크 Lombok 라이브러리 설치 (0) | 2021.05.05 |
스프링 프레임워크 웹 프로젝트 시작하기 Spring Framework Web Project Start (7) | 2021.05.05 |
스프링 프레임워크 시작하기 Spring Framework Start (이거 보면 됨!) (2) | 2021.05.05 |