프로젝트 구조

Spring Boot Project의 파일 구조와 역할에 대해서 살펴본다.

프로젝트 구조

Spring Boot Project의 구조는 다음과 같다.

boot00
  • src

    • main

      • java

        • Boot00Aplication.java

        • ServletInitializer.java

      • resources

        • static

        • template

        • application.properties

    • test

      • java

        • com.hacademy.boot00

          • Boot00ApplicationTest.java

  • target

  • help.md

  • mvnw

  • mvnw.cmd

  • pom.xml

src

프로젝트를 구성하는 source 파일이 위치하는 곳.

용도에 따라 다양하게 구분하여 사용한다.

  • src/main - 배포될 프로젝트에 포함되는 내용들이 위치하는 곳

    • src/main/java - Java Source File이 위치하는 곳

      • Boot00Application.java - Spring Boot App이 시작하는 main 파일

      • ServletInitializer.java - Web Container에 배포될 경우 운영 설정 파일

    • src/main/resources - 설정파일과 정적 컨텐츠가 위치하는 곳

      • static - 정적 컨텐츠 파일의 위치(ex : 이미지, 스크립트 등)

      • templates - Thymeleaf 등 HTML 기반 템플릿 파일의 위치

      • application.properties - Spring Boot 중앙 설정파일(yml로 치환가능)

    • src/main/webapp - (구) 설정파일의 위치. (현) JSP 파일의 위치

  • src/test - 배포될 프로젝트에 포함되지 않는 테스트 코드가 위치하는 곳

pom.xml

maven 중앙 설정 파일.

프로젝트의 정보와 의존성, 빌드 방식에 대한 상세한 정보가 기술되어 있다.

target

maven build의 결과물이 생성되는 위치.

생성 시마다 파일이 변경되므로 Git과 같은 버전관리 시스템에서 관리되지 않도록 제외 설정한다.

HELP.md

Spring에서 제공하는 프로젝트 기본 설명서 파일. Markdown 형식으로 작성되어 있으며 Reference Documentation과 Guides에 대한 Link가 존재한다.

mvnw

mvnwmvnw.cmd는 각각 Linux bash와 Window command line에 맞게 만들어진 Maven Wrapper 파일이다. 이를 통하여 별도의 Maven 설치 없이 프로젝트 내에서 Maven을 사용할 수 있다.

  • mvnw - Linux 계열을 위한 파일

  • mvnw.cmd - Windows를 위한 파일

Last updated