IntelliJ에서 Spring MVC 만들기
목적
Eclipse (STS) 에서는 Spring MVC에 대한 기본 템플릿을 제공해주는데 IntelliJ로 넘어오면서 Spring MVC의 기본 템플릿을 설정해주는 부분이 사라졌다. (적어도 나는 못찾았다.) 따라서 IntelliJ에서 STS의 Spring MVC와 가장 유사한 형태의 프로젝트 구조를 가장 간단하게 작성한다.
대상
Spring에 대한 개념이 있고, STS에서 IntelliJ로 넘어온 분들
※ 참고사항 : 인텔리제이 버전 : 2016.3.2로 작성
따라하기
- Create New Project에서 Maven -> Create from archetype에서 maven-archetype-webapp 선택
- next를 눌러서 쭉쭉 진행하면 아래와 같은 구조의 디렉토리가 생성된다.
- (참고 : .gitignore는 내가 해당 프로젝트를 git으로 관리해서 생성된 것이므로 무시해도 상관없다.)
- maven (pom.xml) 의존성 추가
- 스프링 설정 파일 추가
- resources 하위에 스프링 설정 파일을 잡아주자 (이름과 경로는 강제는 아니다. 다만 )
- IntelliJ에서 제공해주는 스프링 환경설정 xml 템플릿을 이용하면 편하다.
- 소스 디렉토리 추가
- main 하위에 잡아준다.
- 처음 생성하면 회색 폴더가 생성되는데 인텔리제이에서 소스 디렉토리로 인식시키려면 Source Root로 설정해줘야 한다.
- 폴더 우클릭 후 Mark Directory As 에서 Source Root로 설정해주면 파란 색으로 바뀌는 것을 확인할 수 있다.
- 소스 루트 밑에 패키지명은 본인이 원하는 대로. 나의 경우는 프로토타입이니까 간단하게 james 밑에 controller 디렉토리를 두었다.
- 스프링 설정 파일 내용 작성 (dispatcher-servlet.xml)
-
주의할 점
- <mvc:annotation-driven>을 작성하면 IntelliJ가 알아서 beans에 xmlns 등 속성을 등록해주는데 이때 빨간색으로 밑줄 친 cache를 등록해준다. 이렇게 되면 배포 시 cacheManager Bean에 대한 예외 발생이 일어난다.
- 따라서 아래와 같이 cahce를 mvc로 변경한다.
- 간단한 샘플 프로젝트이므로 applicationContext.xml은 여기에서는 별다른 설정을 해줄 게 없다.
- 배포 서술자 web.xml 설정
- 테스트 페이지 hello.jsp 추가
- 테스트를 위한 샘플 컨트롤러 작성
- tomcat 연동
- Run/Debug Configuration에서 좌측 상단의 + 아이콘 클릭하여 톰캣 추가 (Default에서 클릭하면 안된다. Artifact가 생성되지 않음)
- 서버 이름을 만들고 Deployment 탭에서 + 아이콘을 클릭하여 Artifact - war exploded 선택
- 톰캣을 실행하여 테스트
전체 디렉토리 구조는 아래와 같다.
댓글 영역