본문 바로가기
[SpringBoot]

[SpringBoot] 스프링 프로젝트 구조

by 프롯 2023. 11. 25.

 

 

스프링 프로젝트를 막 생성한 시점의 프로젝트 구조이다.

생성 직후, HelloController만을 생성하였다.

 

 

각 디렉토리와 파일들에 대해 알자보자

 

 

src/main/java 디렉토리

 

com.sbb.springBoard 는 자바 파일을 작성하는 패키지이다. 스프링부트의 컨트롤러, 폼과 DTO, 데이터 베이스 처리를 위한 엔티티, 서비스 파일등이 들어가는 공간이다.

 

SpringBoardApplication 파일은 프로젝트 생성시 함께 생성되는 파일이다. <프로젝트 명> + Application 으로 파일명이 만들어지고, 프로그램의 시작을 담당하는 파일이다. 다시말해, 프로젝트를 실행시키면 해당 파일이 가장 먼저 실행된다.해당 파일의 클래스에는 항상 @SpringBootApplication 애너테이션이 적용되어 있어야 한다.

 

 

 

 

src/main/resources 디렉토리

 

자바 파일을 제외한 HTML, CSS, Javascript, 환경파일 등을 작성하는 공간이다.

 

 

/templates 디렉토리에 템플릿 파일을 저장한다. 템플릿 파일은 HTML 파일 형태로 자바 객체와 연동되는 파일이다.

 

/static 디렉터리는 프로젝트의 스타일시트(.css), 자바스크립트(.js) 그리고 이미지 파일(.jpg, .png) 등을 저장하는 공간이다.

 

application.properties 파일은 프로젝트의 환경을 설정한다. 프로젝트의 환경, 데이터베이스 등의 설정을 이 파일에 저장한다. (환경 셋팅 과정에서 포트 번호를 이곳에서 변경하였다.)

 

 

 

src/test/java 디렉토리

 

프로젝트에서 작성한 파일을 테스트하기 위한 테스트 코드를 작성하는 공간이다. JUnit과 스프링부트 내의 테스팅 도구를 사용해서 서버에 접속하지 않고 작성한 코드를 (데이터 흐름을) 테스트 할 수 있다.

 

 

 

 

build.gradle 파일

 

그레이들 (Gradle) 프로젝트에서 사용하는 환경 파일이다. 그레이들은 그루비(Groovy)를 기반으로 한 빌드 도구로 Ant, Maven과 같은 이전 세대 빌드 도구의 단점을 보완하고 장점을 취합하여 만든 빌드 도구이다. build.gradle 파일에는 프로젝트를 위해 필요한 플러그인과 라이브러리 등을 기술한다.

 

(Maven과 Gradle 의 차이가 궁금하다면)

 

 

 

 

 

 

 

그 외의 것들은 크게 중요하지 않아 설명을 생략한다.

 

 

 

 

 

 

 

(자세한 코드가 궁금하다면)

https://github.com/ChooJG/springProject

 

GitHub - ChooJG/springProject: 스프링부트 web-board 프로젝트 (JPA, H2-console)

스프링부트 web-board 프로젝트 (JPA, H2-console). Contribute to ChooJG/springProject development by creating an account on GitHub.

github.com

 

 

 

 

'[SpringBoot]' 카테고리의 다른 글

[SpringBoot] 컨트롤러  (1) 2023.11.26
Live Reload 설정하기 (intelliJ)  (0) 2023.11.25
[SpringBoot] 스프링부트 초기 설정 (IntelliJ)  (1) 2023.11.25