본문 바로가기
백엔드/Spring

[Spring Framework] 스프링과 메이븐

by RoJae 2020. 11. 10.

      로재의 개발 일기       

스프링 그리고 메이븐

스프링을 사용하기 위해서는 Maven Build가 필요합니다.

자바 개발의 사실상의 표준 빌드 툴이며, 이전에는 ANT를 많이 사용했지만,

최근에는 메이븐의 XML 설정파일을 사용하고 있습니다.

- 더 나아가 최근, groovy 언어로 설정을 하는 gradle이 등장하게 되었다고 합니다. (다들 사용해 봤겠지만..)

- Gradle이 특히 문제가 되었던 XML에 대한 이슈도 Groovy를 사용해 해결하였습니다.


※ ANT와 Maven은 상호보완이 불가능하며, Maven과 Gradle은 가능합니다


 메이븐의 특징

- Convection over Configuration (COC)

"설정보다는 관행에 따라 미리 정해진 설정으로 개발을 수행하자"  라는 뜻입니다.

개발자 커뮤니티에서 자주 회자되는 설정 기법을 따라서, 메이븐이 설정을 해줍니다.

(Node.js의 웹 프레임워크 Express, Configuration over Convention과 유사)



- Java 기반 Web Application의 Best Practice를 따른다

따라서 ~

1. 개발 디렉토리 구조가 비슷합니다.

2. 빌드 단계가 이미 설정되어 있습니다. (ANT기법과 상이함)


- 의존성 관리를 자동으로 수행

Maven 중앙 저장소 (Central Repository)를 제공하여, '자바 라이브러리'에 대한 생태계를 조성해줍니다.

따라서, 빌드툴 뿐만이 아니라, 자바 라이브러리를 저장하고 있는 저장소이기도 합니다.

(노드의 경우는 npm)


- POM.xml 단일 설정 파일

메이븐 프로젝트를 의미하여, 프로젝트의 루트에 존재합니다



 메이븐 설정 

프로젝트 명

- artifact ID 를 사용


그룹 아이디

- group ID ~> 프로젝트 패키지를 사용 (기관 도메인의 역순, kr.co.company)


버전

- 개발버전을 의미하는 SNAPSHOT 사용


예시

1
2
3
4
5
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-core</artifactId>
    <version>5.4.1</version>
</dependency>
cs




마무리

다음부터는 개인 프로젝트에는 Gradle를 사용해봐야겠다.



※ 본 글은 개인 포트폴리오 혹은 공부용으로 사용하기 때문에, 무단 복사 유포는 금지하지만, 개인 공부 용도로는 얼마든지 사용하셔도 좋습니다




댓글