-
[Spring Framework] 스프링과 메이븐백엔드/Spring 2020. 11. 10. 21:55
스프링 그리고 메이븐
스프링을 사용하기 위해서는 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 사용
예시
12345<dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-core</artifactId><version>5.4.1</version></dependency>cs 마무리
다음부터는 개인 프로젝트에는 Gradle를 사용해봐야겠다.
※ 본 글은 개인 포트폴리오 혹은 공부용으로 사용하기 때문에, 무단 복사 유포는 금지하지만, 개인 공부 용도로는 얼마든지 사용하셔도 좋습니다
반응형'백엔드 > Spring' 카테고리의 다른 글
[Spring Framework] DI란 무엇인가? (1) 2020.11.16 [Spring Framework] 스프링 IOC란? (0) 2020.11.14 [Spring Framework] 스프링 프레임워크란 무엇인가? - 개요 (0) 2020.11.10 [Spring] Controller에서 자바스크립트 alert를 사용해보자 (4) 2020.11.04