Spring으로 개발을 진행시에 프로젝트의 기본 구성을 생성하기 위해서 사용하는 "spring initializr"에 대해서 알아보겠습니다!
📌Spring Initializr
아래의 링크를 통해서 프로젝트를 생성하게 됩니다.
https://start.spring.io/
1. 매핑
Spring initializr : 아래의 5가지에 대해서 선택을 진행 후 프로젝트
- Project : Maven, Gradle 2가지 종류
- Maven
- 라이브러리들과 연관된 라이브러리들까지 모두 연동되어 관리(자동 업데이트)
- 아파치 Ant의 대안
- POM(Project Object Model의 정보를 담고 있는 파일) : 프로젝트 정보, 빌드 설정과 환경 → pom.xml
- Gradle : 요즘 추세
- 빌드 속도가 Maven에 비해 10~100배 가량 빠름
- Ant Builder와 Groovy (Java 가상 머신에서 실행되는 스크립트 언어로 컴파일x) 스크립트 기반 → 빌드 스크립트 이용
- 가독성이 좋으며, 동적 빌드 적용이 플러그인 호출 혹은 코드 짜기로 가능 ↔ maven 정적 형태 xml 기반
2. Language
3. Spring boot 버전
- SNAPSHOT : 아직 만들고 있는 버전
- M1 : 정식으로 릴리즈 되지 않은 버전
- Group : 기업 도메인명
- Artifact : 빌드 되어 나올 결과물
- Name : 프로젝트명(주로 Artifact와 동일)
- Description : 설명
- Package name : 패키지 이름
- Packaging
: 배포 방법으로 Jar, War 2가지가 있음 ⇒ 참고 : SpringInAction5
- Jar (Java Archive)
: 자바 프로젝트를 압축한 파일 → 클라우드 생각한 선택
- Class(java 리소스, 속성 파일), 라이브러리 파일 포함
- 스프링부트는 내장 톰캣이 있어서 JRE 환경에서 실행 가능함
- JSP 사용 불가
- War (Web Application Archive)
: Servlet /Jsp 컨테이너에 배치할 수 있는 웹 애플리케이션을 압축한 파일
→ 기존 자바 애플리케이션 서버에 배포할 때 선택
- JAR 파일의 일종
- 웹 관련 자원을 포함 (JSP, Servlet, JAR, Class, XML, HTML, Javascript)
- 별도의 웹 서버(WEB) or 웹 컨테이너(WAS)가 필요함
- Java 버전 설정
5. Dependencies
- 사용할 라이브러리 세팅 (web, thymeleaf, jpa, h2, lombok, validation 등)