콘텐츠기획자의 IT입문서

Spring Boot 프로젝트 구성 및 생성하기! 본문

Spring

Spring Boot 프로젝트 구성 및 생성하기!

lazy_cat 2021. 9. 4. 15:54

인텔리J 커뮤니티 이용 시 스프링 부트 프로젝트의 설정에 필요한 모든 것을 수동으로 설정해줘야 한다는 단점이 있다.

Spring Initializr 사이트를 이용하여 프로젝트를 생성하여 import하면 이를 간단히 해결할 수 있다.

 

프로젝트 생성하기

 

Project Build 도구 (빌드 자동화 도구)

프로젝트에서 사용할 라이브러리들을 관리해주는 프로젝트 관리 도구.
(작성한 java 코드, 프로젝트 내에 필요한 각종 xml, properties, jar 파일을 JVM, WAS가 인식할 수 있도록 패키징)
개발에 필요한 다양한 외부 라이브러리들을 다운 받지 않고 사용할 수 있다.
빌드 도구 설정파일에 필요한 라이브러리 종류와 버전, 종속성 정보를 명시하여 필요한 라이브러리들을 자동으로 다운로드 해주고 이를 간편히 관리해주는 도구이다.
  1. Maven : 자바 전용 프로젝트 라이프사이클 관리 목적 빌드 도구.
    • pom.xml을 이용한 정형화된 빌드 시스템.
      *pom.xml : Project Object Model의 정보를 담고있는 파일. (프로젝트 정보, 빌드 설정, 빌드 환경, POM연관 정보)
    • 간단한 설정을 통한 배포 관리가 가능하다.
  2. Gradle : 그루비 스크립트를 기반으로 Maven과 빌드툴인 Ant Builder의 장점을 조합하여 만든 빌드 도구. 
    •  build.gradle을 이용한 정형화된 빌드 시스템이다.
    • 스크립트 언어로 구성되어 있기 때문에 XML과 달리 변수선언, if/else/for 등의 로직이 구현가능하여 간결하게 구성 가능하다.
    -> 간결함(가독성), 속도 측면에서 Gradle 사용. (그외에 Maven을 사용할때 다양한 문제가 발생한다고 함)

[참고] https://hyojun123.github.io/2019/04/18/gradleAndMaven/

 

 

배포 방법

사용 목적에 따라 압축되는 파일의 범위만 다르다.

  1. Jar : Java Archive
    • 자바 클래스 파일, 각 클래스 관련 리소스 파일 및 메타데이터를 압축한 파일.
    • path 정보를 유지한채로 zip 파일 포맷으로 압축한다.
  2. War : Web Application Archive 
    •  자바 서버 페이지, 자바 서블릿, 자바 클래스, XML, 파일, 태그 라이브러리, 정적 웹페이지 및 웹 어플리케이션을 구성할 때 필요한 자원을 압축한 파일.
    • 웹 어플리케이션을 어떻게 설정할 것인지에 대해 정의된 web.xml 파일이 존재.

 

의존성 설정

  1. Spring Boot Dev Tools : 개발에 편리한 기능 제공. 
    ex) 사용하는 자바파일, 리소스 등이 변경되면 어플리케이션을 다시 실행해주고 웹 페이지를 사용할 때 캐싱을 사용하지 않아서 변경 내용을 바로 반영하게 한다.
  2. Spring Web : 웹 프로그래밍을 위한 라이브러리들이 추가 됨.
  3. Lombok : 컴파일 시점에 annotation 선언할 것을 가지고 메소드, 생성자 같은 것을 자동으로 만들어주므로 매우 편리하다.
    ex) 간단한 한줄의 내용으로 getter/setter, 생성자, toString() 등을 자동으로 생성해준다.
  4. Thymeleaf : 웹 템플릿 엔진으로 클라이언트에서 사용할 HTML을 서버에서 생성하기 위해 사용함. (HTML 기반)
    -> JSP도 웹 템플릿 엔진이지만 SpringBoot에서는 더이상 JSP를 권장하지 않음.

 

설정 후 Generate하면 프로젝트가 생성된다!

 

Comments