Spring

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

아윤_ 2023. 10. 19. 02:51

스프링부트 프로젝트의 구조

 

스프링부트를 사용하여 프로젝트를 만들기 위해서는 프로젝트 구조를 잘 이해해야 한다. 스프링부트 프로젝트의 구조와 파일들에 대해 간단히 알아보자.

 

 

src/main/java 디렉터리

 

src/main/java 디렉터리의 하위 패키지는 자바 파일을 작성하는 공간이다. 자바 파일로는 스프링 부트의 컨트롤러, 폼과 DTO, 데이터베이스 처리를 위한 엔티티, 서비스 파일 등이 있다.

 

 

프로젝트명 + Application.java 파일

 

모든 프로그램은 시작을 담당하는 파일이 있는데, 스프링부트 애플리케이션도 마찬가지이다. 스프링부트 애플리케이션에서는 "프로젝트명 + Application.java" 파일이 시작을 담당한다. 만약 스프링부트 프로젝트를 생성할 때 "Hello"라는 이름을 사용하면 HelloApplication.java 파일이 생성되고, 해당 파일이 시작 파일이 된다. 

@SpringBootApplication
public class HelloApplication {

    public static void main(String[] args) {
        SpringApplication.run(SbbApplication.class, args);
    }
}

 

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

 

 

src/main/resources 디렉터리

 

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

 

 

templates 디렉터리

 

templates 디렉터리는 src/main/resources 디렉터리의 하위 디렉터리이다. 해당 디렉터리는 템플릿 파일을 저장하는 공간이다. 템플릿 파일은 HTML 파일 형태로 자바 객체와 연동되는 파일을 말한다.

 

 

static 디렉터리

 

static 디렉터리 또한 src/main/resources 디렉터리의 하위 디렉터리이다. static 디렉터리는 스타일시트(.css), 자바스크립트(.js), 이미지 파일(.png, .jpg) 등을 저장하는 공간이다.

 

 

application.properties 파일

 

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

 

 

src/test/java 디렉터리

 

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

 

 

build.gradle 파일

 

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

 

나머지 디렉터리와 파일들도 있지만, 중요 파일들에 대해서만 설명하였다.