취미로 음악을 하는 개발자

[Spring] 준비 및 프로젝트 생성 본문

공대인/Spring[Boot]

[Spring] 준비 및 프로젝트 생성

영월특별시 2019. 5. 20. 02:16
728x90

* 이 카테고리에 있는 자료들은 '인프런'에서 '자바 스프링 프레임워크(ver.2018) - 신입 프로그래머를 위한 강좌' 및 제공된 소스코드를 참고하여 정리한 것입니다.


Maven이란?

: 컴파일과 빌드를 동시에 수행할 수 있고 테스트를 병행하거나 서버 측 Deploy 자원을 관리할 수 있는 환경을 제공해주며, 라이브러리 관리 기능도 내포하고 있다. Java로 개발하다 보면 다양한 라이브러리를 필요로 하게 되는데, settings.xml이나 pom.xml 파일에 필요한 라이브러리만 적으면 Maven에서 알아서 다운받고 설치해준다.


장단점

1) 컴파일과 빌드를 동시에 수행할 수 있다.

2) 서버의 Deploy 자원을 관리할 수 있는 환경을 제공

3) pom.xml 파일을 통해 관리하기 때문에 개발, 유지보수 측면에서 오픈소스 라이브러리, 프로젝트 등 관리가 용이함

4) IDE에 종속된 부분들을 제거할 수 있다.

5) Maven Profile 기능을 통해 배포 설정 파일을 관리하고 배포 파일을 생성할 수 있다.


1) Maven에서 기본적으로 지원하지 않는 빌드 과정을 추가해야 하는 경우 상당히 고생한다.

2) 특정 플러그인이 설정이 조금만 달라도 해당 설정을 분리해서 중복 기술할 때가 발생함. 불필요하게 설정이 길어지고 중복, 가독성 저하가 발생하여 유지보수성이 떨어진다.

3) 위와 같은 단점을 해결하기 위해, 'Gradle'이라는 새로운 빌드 툴이 있다.


구조

pom.xml

src

main

java

resources

test

java

resources



Group Id: 사용하는 프레임워크

Artifact Id: 모듈

version: 버전


pom.xml

: Project Object Model의 약자로, 프로젝트를 빌드할 때 사용한 프로젝트 및 구성에 대한 정보가 들어있는 xml 파일이다.

간단하게 요약하면 모듈을 지원하는 파일이라고 보면 될 것 같다.


src/main/

java : 실제로 자바 언어로 기능 구현하는 부분

resources : 자바 코딩을 하기 위한 여러 보조적인 파일들 ex) XML, properties


출처 : 나무위키

Comments