gimmickbutreal

[Spring Boot] 스프링부트 프로젝트의 구조 본문

Programming/Spring Boot

[Spring Boot] 스프링부트 프로젝트의 구조

isshosng 2022. 8. 9. 22:22

스프링부트 프로젝트의 전체 구조는 다음과 같다.

 

스프링부트 프로젝트 전체 구조

 

src/main/java 디렉터리

src/main/java 디렉터리의 com.ll.exam.sbb 패키지는 자바 파일을 작성하는 공간입니다. 자바 파일로는 MainController.java와 같은 스프링부트의 Controller가 있으며 폼과 DTO는 물론 데이터 베이스 처리를 담당하는 Entity, Service 파일도 이에 포함됩니다. 현재 위 사진에는 Controller만 존재합니다.

 

SbbApplication.java 파일

모든 프로그램에는 시작을 담당하는 파일이 있습니다. 마찬가지로, 스프링부트 애플리케이션에도 시작을 담당하는 파일이 있는데 여기서는 SbbApplication.java 파일이 이에 해당합니다. 파일명은 프로젝트명+Application.java로 자동으로 생성됩니다. 저는 스프링부트 프로젝트를 생성할 때, "Sbb"라는 이름을 생성하여 위와 같이 생성되었으며 첫 글자는 대문자로 시작하게 됩니다.

 

https://start.spring.io/ 파일 예시

 

 

위와 같이 SbbApplication 클래스에는 반드시 @SpringBootApplication 애너테이션이 적용되어야 합니다. 해당 애너테이션을 통해 스프링부트의 모든 설정이 관리되기 때문입니다.

 

 

src/main/resources 디렉터리

src/main/resources 디렉터리는 자바 파일을 제외한 HTML, CSS, Javascript, 환경파일 등을 작성하는 공간입니다. 주로 해당 프로젝트의 프론트에 해당되는 작업입니다.

 

templates 디렉터리

src/main/resources 디렉터리의 하위 디렉터리인 templates 디렉터리에는 템플릿 파일을 저장합니다. 템플릿 파일은 HTML 파일 형태로 자바 객체와 연동되는 파일입니다. templates 디렉터리에는 해당 프로젝트의 질문 목록, 질문 상세 등의 HTML 파일을 저장합니다. 

 

static 디렉터리

static 디렉터리에는 해당 프로젝트의 스타일시트(.css), 자바스크립트(.js)와 이미지 파일 등을 저장하는 공간입니다.

 

application.properties 파일

application.properties 파일은 해당 프로젝트의 환경을 설정합니다. 해당 프로젝트의 환경, 데이터베이스 등의 설정을 이 파일에 저장하게 됩니다.

 

src/test/java 디렉터리

src/test/java 디렉터리는 해당 프로젝트에서 작성한 파일을 테스트하기 위한 테스트 코드를 작성하는 공간입니다. TDD라고 일컫는 작업을 이 공간에서 하게 됩니다. JUnit과 스프링부트의 테스팅 도구를 사용하여 서버를 실행하지 않은 상태에서 src/main/java 디렉터리에 작성한 코드를 테스트할 수 있습니다.

 

build.gradle 파일

gradle이 사용하는 환경 파일이며 gradle은 Groovy를 기반으로 한 빌드 도구로 Maven처럼 이전 세대 빌드 도구의 단점을 보완하고 장점을 취합하여 만든 빌드 도구입니다. build.gradle 파일에는 프로젝트에 필요한 플러그인와 라이브러리 등을 기술합니다.

 

 

멋쟁이사자처럼 백엔드스쿨 스프링부트 2일차 수업 내용