Maven을 이용한 Spring설치

1. JDK설치

박상수
9 min readJul 14, 2019

2. Maven설치

메이븐 사이트 Download
http://maven.apache.org/download.cgi > apache-maven-3.6.1-bin.zip 다운로드
  • 환경설정 — 고급시스템 설정 보기
[고급 시스템 설정 보기] 열기
환경변수(N) 클릭
환경변수(Path) 클릭
Maven 설치 폴더\bin 경로 추가
cmd > mvn -version 명령어를 이용하여 설치여부 확인

3. 이클립스 설치

엔터프라이즈 혹은 개발자 용 download
압축풀기
eclipse 실행
workspace 선택
UTF-8 설정 (상단메뉴 window > Preference > Workspace > Text file encoding [UTF-8 설정])

4. 메이븐 프로젝트 생성

  • pom.xml 작성
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>sp5</groupId>
<artifactId>spring5-first</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.2.RELEASE</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>utf-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>

> artifactId : 프로젝트 식별자

> dependencies — group, artifactId, version : 5.0.2 버전의 spring-context 사용

> build — artifactId, version, configuration 빌드 도구 명, 컴파일 자바 버전

  • 메이븐을 설치 할 경우 [사용자 홈 폴더]\.m2\ 에 폴더가 생긴다.
    개인적으로 c드라이브 용량이 적기에 심볼릭 링크로 d드라이브에 설치 하도록 유도.
심볼릭 링크 생성
  • 메이븐 컴파일
d:\dev\java\first_workspace> mvn complie
단순하게 mvn compile할 경우 위와 같은 에러가 발생했습니다.
1. 라이프사이클 첫 단계 호출
> mvn install
3. 플러그인 버전을 해결하기 위해 Maven은 먼저 프로젝트의 POM을 확인하고 구성된 플러그인 저장소에 배포 된 플러그인의 최신 릴리스 버전으로 폴백합니다.> mvn org.apache.maven.plugins:maven-compiler-plugin:compile
mvn install
여전히 complie 키워드는 사용 불가
- 플러그인 버전을 해결하기 위해 Maven은 먼저 프로젝트의 POM을 확인하고 구성된 플러그인 저장소에 배포 된 플러그인의 최신 릴리스 버전으로 폴백합니다.
> mvn org.apache.maven.plugins:maven-compiler-plugin:compile
mvn org.apache.maven.plugins:maven-compiler-plugin:compile 셋팅시 사용 가능
  • 기본폴더 생성
// 웹프로젝트 기본구조, []는 폴더
first-workspace>
pom.xml
-- [src]
---- [main]
------ [java]
------ [resources]
------ [webapp]
--------- [WEB-INF]
--------- web.xml
  • 메이븐 프로젝트 임포트[File->Import->Maven->Existing Maven Projects]
pom.xml 체크 한 상태로 Finish

*만약 체크가 안될 경우 [해당 폴더를 복사] > [폴더 명 변경] > [Root Directory 에 변경된 폴더 지정] -> Finish

메이븐 import 결과

5. 간단한 소스 테스트

  • 순서 : 간단한 클래스파일 생성 > Bean사용 > 테스트
  • Car클래스 생성
/src/main/java/Car.java

package test;
public class Car {private String name; public String getCar() { return this.name; } public void setCar(String name) { this.name = name; }}
  • Run 클래스 생성
/src/main/java/Run.java
package test;
import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class Run { @Bean public Car go() { Car c = new Car(); c.setCar("간다"); return c; }}
  • Main클래스 생성
/src/main/java/Main.java
package test;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class Main { public static void main(String[] args) { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(Run.class); Car g = ctx.getBean("go", Car.class); Car g1 = ctx.getBean("go", Car.class); System.out.println("싱글톤 적용됨, g == g1 : "+(g == g1)); String msg = g.getCar(); System.out.println(msg); ctx.close(); }}
  • Run (Ctrl+F11)

*빈 생성시 Singleton으로 생성되는 것을 확인 할 수 있다.

--

--

No responses yet