Package Explorer
에서 오른쪽마우스 - New
- Spring Legacy Project
를 누른다.
개발자가 객체를 생성할 때 하던 new
를 Spring이 해준다.
Spring MVC Project
를 누르고, Next >
를 눌러준다.
자동으로 필요한 다운로드가 다운로딩된다.
(인터넷이 없으면 Spring이 안돌기 때문에 네트워크가 꼭 필요하다고 한다.)
이제 위와같은 창이 뜰 텐데, toLevelPackage
를 설정해주어야한다.
패키지는 최소 3수준으로 설정하여줘야 한다.
수준이란 .
을 기준으로 패키지를 나눈 것을 말한다.
example.com
을 하면 2수준인것이고,
example.co.kr
이라고 하면 이것은 3수준인 것이다.
패키지를 만드는 방법은 도메인을 거꾸로 적는것이다. 예를들면,
example.co.kr
이라는 도메인을 가지고 있다면,kr.co.example
이라고 적어주어야한다.
여기서 example
이 ContextPath가 된다. (애플리케이션 이름이자 프로젝트의 대표 주소)
http://localhost:9090/example
== example.war
이 된다.
모든 프로젝트의 ContextPath는 이름이 달라야 한다. (중복 x)
이름을 설정해주고 Finish
를 눌러준다.
그렇게 되면 이렇게 에러가 뜬것처럼 뜨면서, 오른쪽아래에 초록색바가 생기는데 필요한 요소들을 다운로드 하는 중이다. 차분하게 기다리면 된다.
빨강 : src/main/java
: 자바소스를 보관하고 작성하는 곳
파랑 : src/main/resources
: xml파일들을 보관하는 곳
노랑 : src/test/java
: junit 테스트를 수행하는 곳
초록 : webapp
: web root directory
보라 : resources
: assets를 대체하는 곳 (정적자원 보관)
하늘 : servlet-context.xml
: container
분홍 : views
: jsp
mvnrepository
: 중앙저장소(central)
- 개발에 필요한 jar들을 보관한다.
- 필요한 jar들을 내려받아서 사용하기 때문에 Spring을 구동할 때에는 인터넷이 꼭 연결되어 있어야 한다.
- pom.xml 파일에 필요한 디펜던시를 추가해 주면
jar
파일의 다운로드를 진행한다.
pom.xml에 우리가 설정해준 프로젝트 이름과 각종 버전 등 정보들을 담고 있는 xml문서이다.
자바버전도 사용하고 있는것으로 설정되어있는지 확인해야 한다.
우리가 사용할 것이 Maven 프로젝트인데, 위에서 설명했듯이 중앙저장소 형식에 필요한 jar를 다운로드 받아 사용하는 방식으로 진행한다.
보통은 pom.xml에 기본적으로 만들어지는 버전이 맞지 않으므로 버전을 맞춰줘야 한다.
mvnrepository.com(중앙저장소, central)
에 필요한 jar를 보관해 두고 pom.xml 파일에 <dependencies>
를 추가하면 해당 jar를 다운로드 하는 프로젝트이다.
- pom.xml을 자주 저장하면 자주 다운로드를 진행하기 때문에 오류 확률이 높아진다.
- pom.xml 파일을 저장한 뒤에는 다운로드가 완료될때까지 기다려야 한다.
- pom.xml 파일의 변경 사항이 반영되지 않으면 프로젝트 우클릭 - [Maven] - [Update Project] 메뉴를 실행해야한다.
다운로드 된 jar파일은
C:\Users\계정명\.m2
디렉터리에 저장된다.
- STS를 끈다. (열어 두면 지워지지 않기 때문에)
- 이 디렉터리에 저장된 모든 jar를 다 지운다.
- STS를 다시 켠다.
주의할 점 : 다 지우고 다시 켜게 되면 의존관계에 있는 모든 jar를 다 지우고, STS가 처음부터 다시 다 다운로드 받기 때문에 굉장히 오래걸린다.
<properties>
<java-version>11</java-version> <!-- 자바 버전 -->
<org.springframework-version>5.3.3</org.springframework-version> <!-- 스프링 버전 -->
<org.aspectj-version>1.9.6</org.aspectj-version>
<org.slf4j-version>1.7.30</org.slf4j-version>
</properties>
스프링(Spring)버전은 중요하다. 너무 빨리 빨리 진행되었어서, 코드가 다르다. (구글링을 했을때 같은 Spring 이지만, 못보던 클래스와 코드일 가능성이 있다.)
mvnrepository에서 pom.xml
에 들어갈 버전을 확인해 주겠다.
<java-version>
: 자바버전을 입력해준다.
나는 JAVA 11버전을 사용하고 있기 때문에 11을 입력해 주었다.
<org.springframework-version>
: 스프링 버전을 입력해준다.
<org.aspectj-version>
: aspectj 버전을 입력해준다.
<org.slf4j-version>
: slf4j 버전을 입력해준다.
- 의존 관계를 파악해서 필요한 jar를 모두 받아 주기 때문에
dependency
라고 한다.- 한마디로 디펜던시는 jar이다.
Servlet도 mvnrepository
에서 버전을 찾아 넣는다.
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
나는 4ver
을 사용하기 때문에 JUnit
에 들어가서
가장 최신버전을 입력해주겠다.
<!-- Test -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
build
의 plugin
들 중, source
와 target
을 찾아 ${java-verision}으로 입력해준다.
pom.xml
에 반영된 대로 jar들을 다운받아서 라이브러리에 등록되어있다.
아까 설명한대로 jar는 C:\Users\계정명\.m2
경로에 저장된다.
마지막으로, 라이브러리의 자바의 버전이 11이 아닌것을 확인할 수 있다.
프로젝트 우클릭 - properties
- Project Facets
- Java
의 버전을 11로 맞춰준다.
그렇게 하면 프로젝트 생성시 생겼던 마지막 남은 빨간줄도 사라진다.
설정을 다 끝내고 나면 프로젝트 우클릭
- Maven
- Update Project
를 사용하여 업데이트 해주어야 반영이 된다.