티스토리 뷰
이클립스를 쓰다가 인텔리제이로 넘어오면 신세계를 맛보는 느낌일것이다.
일단 뭐가 더 좋은지도 모르면서 그저 유료툴이니까 더 좋아보이는 플라시보효과도 있을거고 이클립스에서는 뭔가 불안정했던 디자인적요소도 매우 깔끔해진것도 느낄것이다.
그런 기쁨 마음으로 새 프로젝트를 시작하고자 스프링 mvc 프로젝트를 생성하려고하면 이클립스와는 뭔가 다름을 알수있을텐데 이클립스에서 지원해주는 spring mvc 초기 프로젝트 설정이 인텔리제이에서는 찾을 수가 없다.
구글에 검색하면 왠지 있는것같은 게시물들이 막 나오는데 아무리 찾아도 없다. 아마도 버전이 올라오면서 사라진게 아닐까...생각하는데 찾고찾다가 도저히 없어서 나같은 사람을 위해 포스팅을 진행하게 됐다.
intellij 는 이클립스와 명칭부터 약간 다른데 짧게 설명하자면 intellij 에서의 프로젝트가 이클립스의 워크스페이스, 모듈이 프로젝트라고 보면 된다. 먼저 메이븐 모듈로 생성하자.
첫번째 화면은 메이븐으로 생성해주는 모듈의 초기설정을 하는건데 가장 기본으로 갈것이다. 설정해주는 전부가 메이븐에 관련된 것들이다.
기본생성된 메이븐 모듈이다.
이제 웹루트, web.xml등을 생성하자. project structure 에 들어가자
facets 에서 add 버튼 누르고 web 클릭
web.xml을 생성하게된다. 다만 생성경로가 익숙치 않은곳이니 익숙한 경로로 지정해주자
연필버튼 클릭
이런식으로 지정
web.xml 경로를 잡아주고 나서는 아래쪽에 웹루트 경로도 바꿔주자 webapp으로 설정
다 진행되고 난 후 디렉토리 구조.
이제 뭔가 익숙한 구조가 보인다.
pom.xml에 의존성들을 추가해주자.
이제 다왔다 얼른 스프링환경설정끝내고 헬로월드를 만나자.
web.xml 을 작성하면된다. 아래에 스프링설정도 그렇고 복붙할수있게 텍스트로 올릴까 생각했지만 인텔리제이가 자동완성 해주기때문에 칠것도 별로 없고 스프링은 어느정도 알고있다는 가정하라 스샷으로 올린다.
web.xml에 지정한 경로처럼 스프링 환경설정 파일들을 추가해주자. 경로를 꼭 나랑 맞출필요는 없으니 경로가 다른사람들은 해당경로에 추가해주면 된다. xml 템플릿에 스프링설정 템플릿이 있으니 저걸로 만들어주면 한결 편하다.
spring-context.xml 파일. 애노테이션 위주의 설정을 할것이니 annotation driven 설정을 해주고 component scan으로 애노테이션이 붙은 빈들을 생성한다.
view resolever는 리턴할 템플릿을 지정해준다.
첫페이지만 보는 간단한 설정이라 모두 spring-context.xml에 해주고 dispatcher-servlet.xml은 텅텅 비었다.
두 차이는 서블릿의 servlet context와 servlet config를 찾아보면 알수있다.
Hello controller 모습 특별한것 없다.
더 특별할거 없는 hello.jsp
이제 다 됐다. 톰캣을 구동시키는 설정을 하자.
톰캣을 구동하기전에 다시 프로젝트 세팅으로와서 Facets 을보자. 오른쪽 아래에 노란세모로 경고창이 떠있는걸 볼수있다. FIX 버튼 클릭하고 create artifact 클릭.
이 화면이 나오면 된다. artifact는 빌드결과물이라고 보면 된다.
그리고 이제 톰캣설정을 하자. 왼쪽위 add 버튼을 통해 tomcat을 선택하면 지금과같은 창이 나온다. 여기도 마찬가지로 오른쪽 아래에 경고창이 있는데 FIX버튼을 눌러 방금 생성한 artifact를 선택하면 된다.
톰캣이 실행될텐데 위와같은 에러가 뜬다면 다시 artifact 설정 창으로가자.
오른쪽에 있는 라이브러리를 더블클릭하면 왼쪽으로 이동하게 된다. 모든 라이브러리들을 이동시키자. 이건 빌드설정같은데...왜 그런지는 아직 잘 모르겠다. 알아보고 포스팅하겠다.
전부 설정하고 톰캣이 구동됐다면 http://localhost:8080/spring/hello.spring 으로 들어가서 이 화면이 뜨면 된다. 톰캣 포트나 경로설정, url pattern 등을 나와 다르게했다면 맞게끔 입력해줘야한다.
이러면 STS에서 기본적으로 설정해주는 spring mvc와 거의 동일한 설정이 됐다. 포스팅 끝.
'Java > spring' 카테고리의 다른 글
Spring Bean 초기화/소멸 (0) | 2017.11.17 |
---|---|
static factory method를 이용한 spring bean 생성 (4) | 2017.11.16 |
Spring Converter (0) | 2017.03.12 |
List, Map Spring Bean 생성 (0) | 2017.02.24 |
Spring DI (0) | 2016.02.23 |
- Total
- Today
- Yesterday
- generics
- Spring
- backend개발환경
- Kotlin
- frontcode
- DesignPattern
- http
- Jackson
- TEST
- db
- OOP
- javascript
- java8
- MySQL
- java
- clean code
- go-core
- code
- programming
- frontend개발환경
- 정규표현식
- JPA
- servlet
- EffectiveJava
- spring cloud
- toby
- Git
- Design Pattern
- JavaScript Core
- mariadb
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |