교재 : 코드로 배우는 스프링 웹 프로젝트(개정판)
출판사 : 남가람북스
이 중 JDK, Tomcat, Oracle 설치는 이미 이전에 해봤으므로 이 포스팅에서 자세히 적진 않음.
oracle 홈페이지에서 다운받아 설치 -끝-
환경변수 설정은 JDK의 bin폴더로 해주고 이후 cmd 켜서 javac 등 명령어 잘 동작하는 지 테스트
STS는 그냥 이클립스다. 스프링 개발에 포커스를 맞추어 만들어진 이클립스!
그냥 기존에 java, jsp 공부할 때 사용했던 이클립스에 스프링 관련 플러그인을 설치하여 진행 해도 된다.
그러나 나는 이클립스가 포함된 STS를 다운로드 하여 사용하였다.
⚠Lombok라이브러리 관련하여 설정하기
이후에 사용할 lombok라이브러리의 원활한 구동을 위해 이클립스가 설치된 폴더의 eclipse.ini(sts.ini) 파일 상단에 다음 두줄을 추가
-vm
C:\Program Files\Java\jdk1.8.0_171\bin\javaw.exe
기존의 바탕화면에 존재하던 바로가기아이콘은 삭제 후 다시 만들어주는게 좋다고 한다.
그러나 나는 위 설정을 하지 않았음에도 잘 작동하였다.(?) 에러가 뜬다면 적용하자.
이클립스는 기본적으로 운영체제에 따라 기본 문자열 인코딩방식을 다르게 지원.
윈도우는 MS949방식이 디폴트 값이다. 요즘 대세는 UTF-8이므로 이에 맞게 설정하자.
- 상단 메뉴바 window > preferences > General > workspace
Text file encoding을 UTF-8로 변경- Web항목에서도 HTML, CSS, JSP 각각 다 UTF-8로 변경
이클립스(STS)에서 스프링 프로젝트를 생성하는 방식을 책에선 다음과 같이 소개한다.
1. 처음부터 스프링 프로젝트를 지정하고 생성
2. Maven이나 Gradle 프로젝트를 생성한 후 프레임워크를 추가
3. 직접 프레임워크 라이브러리를 추가
1번을 이용해 생성한다.(간편)
File > new > Spring Legacy Project > Spring MVC Project 클릭!
프로젝트 최초 생성 시 필요한 코드 및 라이브러리들을 다운로드 받는다. 다운로드 된 라이브러리들은 사용자폴더의 .m2 폴더에 저장된다.
Spring Legacy Project를 이용해 생성하는 것은 편리하긴 하지만 Spring 버전과 JDK버전이 우리가 하려는 버전과 좀 동떨어져 있으므로 이걸 바꿔준다.
관련 설정은 pom.xml
파일을 통해 관리한다.
(생략) <packaging>war</packaging> <version>1.0.0-BUILD-SNAPSHOT</version> <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> (생략)
바꿔줘야 할 부분은 org.spring.framework-version 이다. 이 부분이 원래는 3.x로 설정이 되어있는데 책에서는 spring 5 이상의 버전을 사용한다. 나는 책에 나온대로 5.0.7로 작성해주었다. spring의 버전은 maven repository에 들어가서 검색하면 나올듯
아 그리고 바로 윗줄인 java-version태그 또한 1.8로 변경 해주자. 스프링 5.x버전을 사용하기 위해선 JDK 1.8 이상의 버전을 사용해야한다.
<plugin>
태그 중 maven-compiler-plugin의 내용을 찾아야 한다.<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>
source 와 target 태그의 내용을 1.8로 변경해주자.
다 바꾸었다면 왼쪽 익스플로러 창에서 프로젝트를 우클릭해 Maven > Update Project 클릭해준다. 강제로 업데이트 시켜주는 기능이다.
⚠ 만약 프로젝트 생성 시 , 혹은 앞으로 어떤 에러가 나온다면 가장 먼저 아래 두개를 해보자 많은 경우 해결될 수도 있다.
✝ .m2폴더 삭제 후 이클립스 다시 실행
✝ Maven > Update Project
이 라이브러리는 필수는 아니다. 옵션사항인데 getter/setter, toString(), 생성자 등을 자동으로 생성해 준다고 설명되어 있다. 개발자에 따라선 이를 싫어하는 사람들도 있는 것 같다. 호불호가 갈리는듯. 하지만 많이 사용은 되고 있다고 한다. 책에서 사용을 하므로 나도 같이 설치를 했다.
다른 라이브러리들과는 다르게 프로젝트 코드에서만 사용되는 것이 아니라 이클립스 에디터 내에서도 사용되어야 하기 때문에 별도로 설치를 해주어야 한다.(처음에만 한번)
lombok 라이브러리
jar 형태로 내려받을 수 있고 이는 실행가능한 jar파일이므로 따블클릭해주어 실행 해주면 된다. 이클립스(STS)의 설치경로를 자동으로 잡아주긴 하는데 못잡는 경우가 더 많다고 하므로 못잡으면 당황하지말고 직접 경로를 지정해주자.
⚠ Lombok라이브러리 설치 후 이클립스 바로가기가 정상적으로 동작하지 않는다면 지우고 다시 만들어줍시다!
이클립스를 통해 생성하는 Spring 프로젝트의 경우 XML 기반으로 스프링 관련 설정을 하도록 되어 있다. 스프링 버전 3 이후로 java 클래스 파일을 이용해 설정이 가능하도록 지원하는데 책에는 XML설정, Java설정 모두 설명을 한다. 그러나 나는 스프링 쌩초짜이므로 XML만 본다. 자바는 필요하면 책을 다시 찾아보면 될것같다.