Spring의 시작
Spring을 사용하기 위해 Maven Build가 필요
Maven
자바 개발의 사실상 표준 빌드 툴
- 이전에는 ANT를 많이 사용
XML 설정파일을 사용
- groovy라는 언어로 설정하는 gradle이 등장
Maven 외부 라이브러리
Convention over Configuration (CoC)
- 별도의 설정 필요없이 그 자체로 개발할 수 있는 것
- cf) Node.js의 웹 프레임워크 Express .. Configuration over Convention
- 설정(개발자의 창의력/자유)을 중요시
Java 기반 Web Application의 Best Practice를 따름
- 개발 디렉토리 구조
- 빌드 단계 [ compile > test > package > install > deploy ]
의존성 관리를 자동으로 수행
- Maven 중앙 저장소(Central Repository)를 제공하여 자바 라이브러리에 대한 생태계를 조성
- .NET, Node.js, Ruby, Python 모두 중앙 저장소 존재함 (Node.js에서는 npm)
POM.XML
- Maven의 메인 설정파일
- 프로젝트 루트에 위치, 프로젝트의 모든 정보 저장
- Maven 프로젝트를 의미, IDE에서 불러오기가 쉬움
메이븐 프로젝트 설정 시 필수사항
프로젝트 명
- artifact ID로 사용
- 프로젝트의 빌드의 결과물로 나오는 산출물의 ID
그룹 아이디
- 주로 프로젝트 생성 조직이나 기관의 도메인 명 역순으로 표기
- 예) kr.co.company
- Top-level package 명으로 사용됨
버전
- 개발 버전을 의미하는 SNAPSHOT 버전 사용
- cf) 배포 버전을 의미하는 RELEASE 버전
Maven3 버전 사용
- 로컬에 설치 필요
- IDE에 포함된 경우 별도 설치 필요 없음
- STS 3.8.X, IntelliJ IDEA 2017 버전 이상 모두 Maven 3.X 버전 포함되어 있음
- 특정 버전의 Maven이 필요할 때 별도의 Maven 설치 후 사용 가능
STS에서 새 프로젝트 생성
Spring Starter Project
: SpringBoot를 생성
Spring Legacy Project
: 기존의 Spring을 생성, 일부 스프링 프로젝트 코드를 같이 생성
Dynamic Web Project와 Maven Project
: 처음부터 스프링 프로젝트 코드를 직접 설정해서 생성
Summary
- Maven은 Spring 개발에서 사용되는 빌드툴이다.
- Best Practice를 표준화 시켜놓은 Convention over Configuration 방식을 사용한다.
'Study > Spring' 카테고리의 다른 글
[Spring] 우체국 우편번호 API 적용 (0) | 2023.06.14 |
---|---|
[Spring] 4. IoC (0) | 2023.02.22 |
[Spring] 3. 메이븐 Spring Project 생성 (0) | 2023.02.16 |
[Spring] 1. 스프링 프레임워크 개요 (0) | 2023.02.16 |