2013년 4월 24일 수요일

Spring + Mybatis + Restful 환경구축 (1)

프로젝트가 쓰러졌다.

하지만 나는 스프링을 이용한 서버를 이미 구축했다.

차마 버릴수 없었다.

그래서 고생끝에 성공한 서버구축에 대한 포스팅을 남기려 한다.

아마 스프링 책을 참고 하더라도 그래서 환경구축은 어떻게해야하는데??

라는 의문을 나처럼 많은 스프링 뉴비들이 공통적으로 가질거라 생각한다.

그래서 Spring 과 Mybatis , Restful 기반의 서버를 만들기위한 환경구축에 대한 포스팅을

시작해보자.

1. Eclipse IDE 설치

이클립스는 Juno 버젼으로 시작하겠으며 Windows7 ultimate(x64) 가 기본인 환경이다.

먼저 이클립스를 설치한다.

보통 스프링 전용 IDE인 Spring Tool Suite(STS) 를 스프링 홈페이지에서 받아서 사용하지

만 나는 이클립스 환경에서 구축했다. 기존의 플러그인들을 다시 설치하고 워크스페이스를

공유하는 등의 중복작업을 하기 싫었고 IDE를 따로 사용하기 귀찮았기 때문이다.

http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/juno/SR2/eclipse-jee-juno-SR2-win32-x86_64.zip&mirror_id=466

2. JDK 설치

JDK 는 최신버젼인 1.7을 기반으로 시작하도록 하겠다.

오라클 홈페이지에서 간단히 받아 설치하도록 한다.

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

3. JAVA 환경변수 설정

JAVA를 설치했다면 기본적으로 환경변수를 설정한다.

내컴퓨터 -> 속성 ->고급 시스템 설정 -> 환경변수



이후 새로만들기를 통해 JAVA_HOME 을 지정한다.
이때 경로는 jdk 폴더의 경로까지 지정한다.



4. STS(Spring Tool Suite) Plug-in 설치

 자 이제 이클립스를 켜서 스프링을 사용하기위한 STS 플러그인을 설치하자.

만약 이크립스가 안켜진다면 이클립스 실행파일이 있는 경로의 eclipse.ini를 수정하여 오류를 해결하도록 하자. 이는 여러분에게 맡기겠다.

Menu -> Help -> Eclipse Market 을 켜보자.


켜면 


이러한 창이 뜨고 Find 에 'spring juno' 를 치면 위 그림과같은 검색결과가 나타난다.

Juno를 쓰지않고 인디고나 헬리오스를 사용한다면 해당 버젼에 맞는 검색을 하면 나온다.

자 이제 Install 을 눌러보자..


그러면 위 화면과 같은 창이뜬다. 

뭔가많다. 고민할 필요없다. 다설치. Next

이후 동의하고 설치한다.


설치중...

이후 완료되면 이클립스를 재시작 하라고 하니 재시작 하자.

자 재시작후 잘 설치되었는지 확인해 보자
Menu -> Help -> About Eclipse 클릭



자 여기서 Installation Details 클릭



아까 보았던 STS 플러그인 목록이 좍 있다..

이클립스에 설치하는 모든 클러그인은 여기에 나타나니 유용하게 사용바란다.

삭제 및 업데이트가 가능하고 속성을 볼수 있다.

자 이제 STS설치는 끝났다.

그러면 이제 Maven 이라는걸 설치해보자.

Maven 이란 간단히 설명하면 JAVA를 위한 Build 도구이다.

Jar 파일을 만들때 보통 사용되며 우리가 프로젝트를 진행할때 분명 외부라이브 러리를 사용하게 된다. 이러한 외부 라이브러리를 직접 jar 를 받아서 프로젝트에 넣고 Build path에 넣는 그런 번거러움을 줄이기 위해 사용된다. 정확히 이를 위해서 사용되는건 아니지만 더 궁금하다면 메이븐에 대해 찾아보도록 한다. 심지어 책으로도 나와있으니 자바를 개발하는 사람이라면 알아두는 편이 매우매우 도움이 될 것이다.


5. Maven Plug-in 설치

STS 를 설치하는것과 마찬가지로 Eclipse Marketplace 에 Maven 이라 검색한다.




그러면 메이븐에 관한 많은 플러그인이 검색되는데 우리가 필요로 하는것은 위 그림 가운데 

위치한 ' Maven Intergration for Eclipse ' 이다.

Install 눌러 설치한다. 망설일것 없이 다 설치한다. 또 재시작한다. 하라는데 우짜겟노 하자.



자 이제 Just Spring 을 시작하기 위한 단계까진 왔다.

그렇다면 프로젝트 생성하고 실행하면 뭐라도 기본적으로 되야겠지??

프로젝트를 하나 만들어서 테스트 해보자.



자 만들자. 어라 나 이미 만들었네..제길.. 지우고 다시해야지




자 Spring -> Spring Template Project 를 Next!


Spring MVC Project 를 선택후 Next!!

이후 아마 다운로드를 한다고 나올텐데 OK 눌러주자. 난생략


프로젝트 명과 가장 상위의 패키지 명을 적고 완료!



자 이구성대로 나왔다면 일단 성공~~

이데로 실행하면 뭐라도 되야겠죠??

자 실행을 해봅시다.

근데 스프링은 서버자나?? 그럼 서버는???

그래서 서버를 만들어 봅시다.



프로젝트를 우클릭후 Run As -> Run on Server 클릭!


자 그러면 이렇게 많은 서버중 하나를 선택해야해요

근데 난 무난무난열매 아파치 톰캣 6.0 을 이용해요.

7.0 은 뭔가 쌔거자나 분명 버그가 있을거야.. 실제로 그래요..그래서 6.0써요.. 



자 톰캣 6.0 선택하고 서버명과 호스트이름따위 알아서 하셈요 난 그대로 해요

Next!


오..근데 내가 톰캣을 설치한적이 없어요!

Download and Install... 클릭!!

원하는 경로 하나 잡아주시고.. 왠만하면 'Tomcat 6.0' 이라고 새폴더 하나 만드셔서 관리하세요~~ 그리고 만약 경로 설정했는데

The Tomcat installation directory is not valid. It is missing expected file or folder lib/jasper-el.jar.

부왕~~ 이런 에러가 뜬다!! 그럼 걍 캔슬 누르고 다시 이 화면까지 옵니다.

그러고 다시 Browse 로 경로잡으면

왠걸?? 됨..ㄷㄷ;; 자체 버그라고 하니... 어쩔수없지..이클립스자나..익숙해져야해요..



Finish 해주세요~~

그러면 실행이 됩니다!! 왜냐!! Run AS 로 했으니까!!!

근데!!!

될리가 없습니다..

자..  절 따라해보아

이유인즉 간단히 말하면

maven 에서 제공하는 jsp 관련 라이브러리와 spring에서 제공하는 라이브러리의 충돌로

인해 발생하는 거랍니다. 그러니 우린 메이븐을 쓰니까 메이븐을 기본으로 잡아야겠죵??

출동


자 이런 에러페이지가 나타나고 Console쪽을 보면 구동과 동시에 에러가 엄청나게 발생했고 그 이유인즉 Servelt 에서Jar 를 읽을수 없다니 어쩌니... 자 해결합시다

프로젝트 상에 있는 가장 아래에 있는 파일인 pom.xml 을 엽니다. 물론 서버 종료하고.. 빨간버튼 아시죠? 이거 모르면 이클립스..다시배워요..


여기서 아래쪽에 ' Dependencies ' 탭으로 들어가면 상위 그림같은 화면이 나타납니다.

여기서 servlet-api : 2.5 , jsp-api : 2.1 을 Remove합니다.

그리고 ADD를 누릅니다.




그리고 검색란에 ' org.apache.maven.plugins ' 라고 검색해서

maven-war-plugin 을 선택하고 OK 합니다!

그리고 Ctrl + S 로 저장하시고


자 그리고 Server 를 재시작 합니다!

이미 프로젝트를 Run on Server 한번 했기 때문에

Tomcat Server 에 나의 프로젝트가 올라가 있는 상태입니다.

서버를 재시작하면 나의 프로젝트가 다시 서버에 올라가게 되죵

START!!


처음에 실행 했을때는 저 주소가 500에러가 떳는데

이제 실행하니 콘솔상에 에러도 없고 home.jsp 가 프로젝트 기본 jsp파일인데 내용까지 나타납니다.

주소는

http://localhost:8080/test/ 입니다. home.jsp 까지 안붙여도되요

와..이제 겨우 프로젝트 만들고 걍 실행 Just 실행한번 해봣어요..

Mybatis 와 Restful이 남았네요..

힘들다..

하루 쉬고 올릴게요...

안되는 부분 있으신 분은 댓글 남겨주세요!! 폰으로 댓글 알림 오니까 실시간으로 알려 드리도록 하겠습니다.

다음 포스팅에서는 Mybatis 의 설정에 대해 포스팅 하겠습니다.


-ps

제 포스팅은 Spring + Mybatis + Restful 을 구축하는 방법을 포스팅 하는거지

그 내용이나 개념은 하지 않습니다. 이는 책이나 각 프레임워크 홈페이지를 참고하셔서

각자 공부를 하시기를 바래요 물론 예제는 있을겁니다. 저도 공부중이라..ㅠㅠ


댓글 없음:

댓글 쓰기