ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Spring Boot] 간편 프로젝트 생성
    Spring/Spring Boot 2024. 4. 4. 01:01

    Spring Boot 웹 프로젝트 생성

    start.spring.io 에서 생성

     

    start.spring.io에 접속한다.

    start.spring.io 접속 화면

    Category 설정 

    Project : 사용할 Build Tool을 선택한다 

    build tool 비교 자료
    https://jamcoding.tistory.com/8

    Language : 사용할 프로그래밍 언어를 선택한다.

    Spring Boot : 사용할 Spring Boot의 버전을 선택한다.

    • 개발 중인 버전(SNAPSHOT), 정식 릴리즈되지 않은 버전(M~)이 붙는다.

    Project Metadata : 프로젝트의 속성정보를 설정한다.

    • Group : 프로젝트를 정의하고 구분하게 해주는 고유한 식별자 정보, (기업 도메인 주소의 역순으로 주로 사용)
    • Artifact : 프로젝트의 이름
    • Name : Artifact와 일치한다.
    • Description : 프로젝트 관련 설명
    • Package name : 프로젝트의 루트 패키지 설정. Default는 Group + Artifact 로 표현된다.
    • Packaging : packging 시 파일 타입
    • Java : 사용할 java 버전

    Dependency : 프로젝트에 사용할 라이브러리 지정

     - 본 예제는 웹서비스를 예시로 하기에 Spring-web, thymeleaf를 추가한다.

     

    GENERATE 버튼 : 설정한 세팅파일을 저장한다.

     

     

     

    설정한 프로젝트 생성

    intellij 실행 -> file -> open -> 압축을 해제한 folder에서  build.gradle 선택

     

     

     

    생성한 프로젝트 구조

    Spring project 구조

    gradle로 생성했을때 스프링 프로젝트 의 구조

    • .gradle : gradle이 사용하는 폴더. task로 생성된 파일이 저장된다.
    • .idea : intellij 관련 설정 파일
    • gradle : gradle 이 사용하는 폴더. gradle 환경을 정리한 wrapper 파일이 저장되어 있다
    • src : 프로젝트 폴더로 main 폴더와 test폴더가 있고 소스코드와 resource 파일들이 들어간다.
    • .gitignore : git 이 무시할 파일들을 명시한 것이다.
    • build.gradle : gradle 의 빌드 설정 파일이다. groovy 언어로 작성되어 있다. 여기에 dependency 를 명시한다.
    • gradlew : gradle 의 명령 파일. macOS 와 Linux 용이다.
    • gradle.bat : gradle 의 명령 파일. windows 용이다.
    • setting.gradle : 프로젝트 설정 정보 파일이다.
    • External Libararies : build.gradle에서 정의한 라이브러리를 다운받은 폴더
      • build.gradle에서 설정한 라이브러리보다 많은 이유 -> maven과 gradle을 해당 라이브리를 사용하는데 필요한 라이브러리까지 전부 받아온다.

     

    ※ intellij 에서  spring initializer로 새 프로젝트를 생성 할 때도 start.spring.io 에서 생성한다.

     

    Build 방법

    window 기준 해당 프로젝트 폴더 에서 gradlew build 커맨드 실행 -> build -> lib 폴더에 packging 파일 생성

     

     

     

     

    참고 문헌

     

     

Designed by Tistory.