겉바속촉

[점프투스프링부트] 2-01 스프링부트 프로젝트의 구조 본문

IT 일기 (상반기)/SPRING 기초

[점프투스프링부트] 2-01 스프링부트 프로젝트의 구조

겉바속촉 2023. 2. 22. 11:32
728x90
반응형

 

점프투스프링부트 2-01

 

 

 

목표 : 스프링부트 프로젝트의 구조와 파일들 이해

 

현재 SBB 프로젝트는 HelloController.java와 HelloLombok.java 파일만 생성한 상태다.

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

 

 

 

 

1. src/main/java 디렉터리

src/main/java 디렉터리의 com.mysite.sbb 패키지는 자바 파일을 작성하는 공간이다.

자바 파일로는 HelloController와 같은 스프링부트의 컨트롤러, 폼과 DTO, 데이터 베이스 처리를 위한 엔티티, 서비스 파일등이 있다.

 

- SbbApplication.java 파일

모든 프로그램에는 시작을 담당하는 파일이 있다.

스프링부트 애플리케이션에도 시작을 담당하는 파일이 있는데 그 파일이 바로 <프로젝트명> + Application.java 파일이다. 스프링부트 프로젝트를 생성할때 "Sbb"라는 이름을 사용하면 다음과 같은 SbbApplication.java 파일이 자동으로 생성된다.

 

[파일명:/sbb/src/main/java/com/mysite/sbb/SbbApplication.java]

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

 

 

2. src/main/resources 디렉터리

src/main/resources 디렉터리는 자바 파일을 제외한 HTML, CSS, Javascript, 환경파일 등을 작성하는 공간이다.

 

2-1. templates 디렉터리

src/main/resources 디렉터리의 하위 디렉터리인 templates 디렉터리에는 템플릿 파일을 저장한다.

템플릿 파일은 HTML 파일 형태로 자바 객체와 연동되는 파일이다.

templates 디렉터리에는 SBB의 질문 목록, 질문 상세 등의 HTML 파일을 저장한다.

2-2. static 디렉터리

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

2-3. application.properties 파일

application.properties 파일은 SBB 프로젝트의 환경을 설정한다. SBB 프로젝트의 환경, 데이터베이스 등의 설정을 이 파일에 저장한다.

 

 

3. src/test/java 디렉터리

src/test/java 디렉터리는 SBB 프로젝트에서 작성한 파일을 테스트하기 위한 테스트 코드를 작성하는 공간이다.

JUnit과 스프링부트의 테스팅 도구를 사용하여 서버를 실행하지 않은 상태에서 src/main/java 디렉터리에 작성한 코드를 테스트할 수 있다.

 

4. build.gradle 파일

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

 

 

 

 

728x90
반응형