Category: Spring framework

Spring Framework 에 대한 기사들의 모음.

Spring MVC hello world Example in STS

spring pivotal이 글은 STS(혹은 Eclipse) 를 사용해서 Hello World 를 만드는 법에 대한 것이다.  Eclipse, STS 를 설치했다면 자체적으로 간단한 샘플 프로젝트를 제공 한다. 아무런 설정도 필요없고 간단하게 패키지명만 입력해주면 샘플 프로젝트가 제공되고 브라우저를 통해서 확인할 수 있다.

Eclipse 에는 Spring IDE 플러그인이 설치된 것으로 가정한다.

Spring Legacy Project

STS나 Eclipse 를 설치했다면 Spring Legacy Project 를 제공한다. File 메뉴 -> New -> Other.. 를 클릭하면 나오는 팝업창에서 ‘Spring’ 폴더를 클릭하면 다음과 같은 화면에 ‘Spring Legacy Project’ 가 보입니다.

Spring Legacy Project 생성 팝업
Spring Legacy Project 생성 팝업

이제 ‘Next’ 를 누르면 다음과 같은 화면이 나온다.

Spring 템플릿. 그런데 MVC Project 가 없다.
Spring 템플릿. 그런데 MVC Project 가 없다.

하지만 위 화면과 같이 나올 수도 있다. 원래는 MVC Project 가 나와야 하는데, 보이지 않는다. 그럴때는 위 화면에 ‘Configure templates…’ 를 클릭한다.

Template Projects 수정
Template Projects 수정

위 화면과 같이 두가지를 순차적으로 삭제 해준다. 위와같이 하면 이전화면이 다음과 같이 나온다. 삭제하고 난후에도 이전화면에서 ‘Spring MVC Project’ 가 나타나지 않으면 Eclipse 를 재시작해준다.

Spring MVC Project 생성
Spring MVC Project 생성

위 화면과 같이 Project name 에는 ‘HelloWorld’ 를 적어주고 아래 Template 은 ‘Spring MVC Project’ 를 선택하고 ‘Next’ 를 해준다.

패키지명 작성
패키지명 작성

위와같이 패키지명을 입력하고 난 후에 Finish 를 누르면 Hello World 프로젝트가 작성된다.

Spring MVC Project 로 작성된 Hello World
Spring MVC Project 로 작성된 Hello World

이를 실행시키면 Hello World 를 브라우져에서 확인해 볼수 있다.

UTF-8 로 출력하기

이는 Deployment Discriptor 인 Web.xml 파일에 Encoding 설정을 UTF-8 로 설정해 줘야한다. 이는 다음과 같다.

Session 공유 테스트 코드

WAS 서버를 세팅할때에 Session 을 공유하도록 가끔은 구성할 때가 있다. 요즘은 spring-data-redis 를 이용해서 Redis 에 Session 을 저장하도록 지원하고 있지만 WAS  서버 자체적으로 Session 을 공유하도록 설정해서 운영할 수 있다.

이때 과연 WAS  서버들간 Session 이 제대로 공유되고 있는지를 확인할 필요가 있는데 이때 사용할 수 있는 코드다. 참고로 이 코드는 다음의 github 저장소에서 가지고 왔다.

먼저, Controller 를 다음과 같이 수정한다.

그리고 다음과 같이 home.jsp 파일을 수정해준다.

위와같이 수정하고 실행을하면 세션관련된 내용을 출력되고 세션 공유를 테스트해 볼 수 있다.

JBoss EAP 에서 세션 공유

코딩만으로는 Session 공유가 되지 않는다. WEB-INF 디렉토리에 ‘jboss-web.xml’ 을 만들고 다음과 같이 작성한다.

그리고 web.xml 파일에 다음을 추가해 준다.

위와 같이 하면 웹 애플리케이션에서 세션이 공유된다.

Spring 개발을 위한 Eclipse 세팅하기

eclipse ide

이제 Java 개발을 하기위해서는 Eclipse가 필수가 됐다. 아니 Java 뿐만이 아니라 웬만한 언어들과 개발에 필요한 각종 인프라들을 제공해주는 단순한 하나의 IDE 가 아닌 개발환경 그 자체가 되어가는 듯한 느낌이다.

Java 개발에 거의 표준이 된 Spring Framework 를 이용한 개발을 할때도 Eclipse도 필수중에 필수이다.

Spring 개발을 위해 필요한 Eclipse 세팅에 대한 글이다. 초보자분들을 대상으로 함으로 이미 많은 경력을 쌓은 개발자는 읽을 필요가 없다.

준비물

현시점(2016.05)에서 안정적인 자바 개발을 위한 프로그램과 버전들은 다음과 같다.

  • Jdk 1.8
  • Maven 3.3.9
  • Eclipse 4.5.2 (mar2), STS 3.7.3

한가지 알아야 할 것은 STS 3.7.3 이다. Springsource Tools Suites 로서 Spring 개발사(?)에서 Eclipse 와 Spring Tools Suites 를 통합시킨 것이다. Eclipse 와 완전히 동일한 환경이지만 STS를 설치하면 별도의 Spring 을 위한 설치작업을 할 필요가 없기 때문에 많이 사용한다.

여기서는 Eclipse 4.5.2 를 가져다 Spring 을 위한 환경을 구축하는 것으로 하겠다. 설치와 환경설정으로 나뉘어 서술할 것인데, 설치를 제외한 환경설정 부분은 Eclipse 나 STS나 동일하기게 적용된다.

마지막으로 시스템은 Windows 64bit 을 사용하는 것으로 한다.

설치하기

Jdk 1.8 설치

먼저, Jdk 1.8 을 설치해야 한다. Maven 때문에 반드시 JDK를 설치해야 한다. Windows 64bit 버전을 다운받아 설치한다. 그리고 JAVA_HOME, CLASS_PATH, PATH를 시스템 환경 설정을 해준다. 이 과정은 검색해보면 많이 나오니까 따로 기술하진 않겠다.

Maven 3.3.9 설치

Maven 은 Java 개발에 필요한 각종 라이브리 의존성, 빌드, 테스트를 자동화해주는 툴이다. 대부분 Java 개발이 대규모로 이루어지고 있어 이러한 것을 자동으로 처리해주는 필요가 많이 생겼는데 Maven이 그걸 자동으로 해준다.

Eclipse 에서는 Maven 과 통합이 되어서 사용자가 별도의 명령어를 치거나하는게 아니라 Eclipse 에서 전부 Maven 관련된 일을 수행할 수 있다.

설치는 아주 간단하다. Maven 홈페이지에서 다운받아서 압축해제만 해주면 끝이다. 나는 압축을 해준 다음에 C:\ 디렉토리로 그냥 옮겨줬다.

  • C:\apache-maven-3.3.9

설치를 했다면 설정을 해줘야 한다. Maven 설치한 디렉토리에 repository 라는 디렉토리를 생성한다.

maven repository 디렉토리 생성
maven repository 디렉토리 생성

conf 디렉토리에 보면 setting.xml 파일을 텍스트 에디터로 열어서 다음과 같이 localRepository 부분에 방금 생성한 repository 디렉토리를 지정해준다.

Maven 자체에 대한 설정은 아주 많은데, 보통의 경우에 여기까지만 해도 개발하면서 이용하는데 아무런 문제가 되지 않는다.

Eclipse 설치

Eclipse 설치를 위해서 홈페이지에 가보면 다양한 Eclipse를 볼수 있다. 그것들은 마치 STS 와 동일한 것들이라고 보면 된다. C/C++ 를 위한 Ecclipse, PHP를 위한 Eclipse, Java 를 위한 Eclipse 등 많은 Eclipse 통합 제품들을 제공하는데 우리는 Java EE 를 위한 Eclipse 를 다운받는다.

  • Eclipse IDE for Java EE Developers

시스템 운영체제에 맞는것을 다운받으면 된다. 다 다운받으면 압축해제해서 C:\ 로 옮겨준다. 나 같은 경우에는 다음과 같다.

  • C:\eclipse-jee-mars2

Eclipse 설정

먼저 Eclipse 를 실행한다. 모든 설정은 Eclipse 실행한 상태에서 하게 된다.

실행을 했다면 ‘Help’ 메뉴 -> Check for Updates 를 실행해서 Eclipse 를 최신상태로 업데이트를 반드시 해준다.

Spring Tools Suites Plugin 설치

Plugin 설치는 Marketplace 를 이용해서 아주 쉽게 할 수 있다. ‘Help’ 메뉴 -> Eclipse Marketplace 를 클릭하면 Marketplace가 실행된다.

Marketplace 에서 Spring 으로 검색해서 설치버튼 클릭
Marketplace 에서 Spring 으로 검색해서 설치버튼 클릭

위 화면과 같이 ‘Spring’ 으로 검색해서 나오는 ‘Spring IDE 3.7.3.RELEASE’ 에 Install 클릭해준다. 그러면 화면이 바뀌고 설치하고자하는 추가 컴포넌트들을 선택하는 화면이나오는데 잘 모르면 그냥 ‘Confirm’ 클릭하고 라이센스에 동의해주고 ‘Finish’ 클릭하면 설치가 진행된다.

중간에 인증되지 않은 Plugin 을 설치하겠냐고 물어보는 팝업창이 나오기도 하는데 ‘Yes’를 해주면 설치가 완료 된다.

Maven 설정

Eclipse 를 실행하고 ‘Window’ 메뉴 -> Preferences 를 클릭하고 나오는 창에서 ‘maven’ 으로 검색한다.

maven 설정
maven 설정

위 화면과 같이 ‘User Settings’ 부분에 앞에서 Maven 설치시에 수정했었던 settings.xml 파일을 인식 시켜준다.

한가지 더 Maven 을 위한 설정이 존재하는데 다음과 같이 Jdk 의 tools.jar 을 library 에 포함시켜줘야 한다. 만일 이것을 하지 않게되면 Maven 사용시에 다음과 같은 오류를 만나게 될 수도 있다.

이는 tools.jar 을 필요로 하는 것인데 다음과 같이 인식시켜주면 된다.

tools.jar 추가해주기
tools.jar 추가해주기

이로써 Spring 개발을 위한 설정은 모두 끝났다.

하지만, 추가적인 필요한 설정을 해주자.

Edit Encoding,  line delimiter 설정

Windows 에서 Eclipse 를 사용하게되면 Eclipse의 기본 파일 인코딩은 MS949로 시스템 기본 문자셋을 따른다. 하지만 지금 세상은 UTF-8 세상이 된지 오래다.

또, Line delimiter 라고 해서 한줄을 다 쓰고나서 Enter 를 누르면 ‘\n’, ‘\r\n’ 이 두가지 형태로 라인이 끝임을 마킹하게 되는데 이는 Windows 나 Unix 에 따라 다르다. 이는 개발한 애플리케이션이 어느 시스템에서 동작하는지에 따라 선택해준다. 나는 Unix 로 바꿔줬다.

Encoding, Line delimiter 변경
Encoding, Line delimiter 변경

Line Numbering

텍스트 화면 왼쪽에 줄번호를 보이게 하면 개발시에 아주 편리하다. 설정은 다음과 같이 한다.

Line Number 보이기
Line Number 보이기

Eclipse Color Themes 설치

개발을 하다보면 Edit에 Syntax Highlight 를 변경하고자 하는 욕구가 나온다. 이럴때에 Color Theme를 설치하고 바꿔주면 된다. 이것도 Plugin Marketplace 에서 설치가능하다.

Eclipse Color Theme 설정
Eclipse Color Theme 설정

Plugin 을 설치하고 나면 위와같이 전에 안보이던 Color Theme 가 나오고 많은 Syntax Highlight Color 들을 볼수 있고 원하는 것을 선택할 수 있게된다. (원래는 선택하면 미리보기 기능을 제공했지만 현시점(2016.05)에서는 어찌된 영문인지 ‘곧 돌아온다’라는 문구만 나온다.)

이로써 Spring 개발을 위한 Eclipse 세팅에 대해서 간단히 알아봤다.