
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]
package com.mysite.sbb;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SbbApplication {
public static void main(String[] args) {
SpringApplication.run(SbbApplication.class, args);
}
}
SbbApplication 클래스에는 위와 같이 반드시 @SpringBootApplication 애너테이션이 적용되어 있어야 한다. @SpringBootApplication 애너테이션을 통해 스프링부트의 모든 설정이 관리된다.
src/main/resources 디렉터리
src/main/resources 디렉터리는 자바 파일을 제외한 HTML, CSS, Javascript, 환경파일 등을 작성하는 공간이다.
src/main/resources 디렉터리는 주로 애플리케이션의 설정 파일 및 리소스를 저장하는 곳입니다. 여기에는 application.properties 또는 application.yml과 같은 설정 파일, 메시지 프로퍼티 파일, 스프링 빈 구성 파일 등을 저장합니다. 이러한 파일은 클래스패스 상에서 사용됩니다. 이 디렉터리에 저장된 리소스는 클래스패스에 위치하기 때문에 클래스로더를 통해 로딩할 수 있습니다.
templates 디렉터리
src/main/resources 디렉터리의 하위 디렉터리인 templates 디렉터리에는 템플릿 파일을 저장한다. 템플릿 파일은 HTML 파일 형태로 자바 객체와 연동되는 파일이다. templates 디렉터리에는 SBB의 질문 목록, 질문 상세 등의 HTML 파일을 저장한다.
static 디렉터리
static 디렉터리는 SBB 프로젝트의 스타일시트(.css), 자바스크립트(.js) 그리고 이미지 파일(.jpg, .png) 등을 저장하는 공간이다.
static 디렉터리는 정적 웹 리소스 (HTML, CSS, JavaScript, 이미지 등)를 저장하는 곳입니다. 스프링 부트 애플리케이션은 이 디렉터리에 저장된 리소스를 정적 자원으로 제공합니다. 이러한 정적 자원은 웹 브라우저에서 직접 접근할 수 있습니다.
application.properties 파일
application.properties 파일은 SBB 프로젝트의 환경을 설정한다. SBB 프로젝트의 환경, 데이터베이스 등의 설정을 이 파일에 저장한다.
src/test/java 디렉터리
src/test/java 디렉터리는 SBB 프로젝트에서 작성한 파일을 테스트하기 위한 테스트 코드를 작성하는 공간이다. JUnit과 스프링부트의 테스팅 도구를 사용하여 서버를 실행하지 않은 상태에서 src/main/java 디렉터리에 작성한 코드를 테스트할 수 있다.
src/test/java 디렉터리는 스프링 부트 프로젝트에서 테스트 코드를 작성하는 곳입니다. 여기에 작성한 테스트 코드는 메인 프로덕션 코드에 영향을 주지 않습니다. -
org.springframework.boot.test.context.SpringBootTest와 같은 테스트 관련 어노테이션을 사용하면 테스트 코드가 별도로 실행되며, 실제 애플리케이션 코드와 격리됩니다. 이것에는 몇 가지 이점이 있습니다
src/test/java 디렉터리의 테스트 코드를 작성하고 실행하면 JUnit 또는 TestNG와 같은 테스트 프레임워크를 사용하여 애플리케이션 코드를 테스트할 수 있으며, 이를 통해 코드의 품질과 안정성을 개선할 수 있습니다. 또한 스프링 부트에서는 테스트를 위한 다양한 도구와 어노테이션을 제공하므로 유용하게 활용할 수 있습니다.
build.gradle 파일
그레이들(Gradle)이 사용하는 환경 파일이다. 그레이들은 그루비(Groovy)를 기반으로 한 빌드 도구로 Ant, Maven과 같은 이전 세대 빌드 도구의 단점을 보완하고 장점을 취합하여 만든 빌드 도구이다. build.gradle 파일에는 프로젝트를 위해 필요한 플러그인과 라이브러리 등을 기술한다.
나머지 디렉터리와 파일등은 자동 생성되거나 크게 중요하지 않은 것들이라 설명은 생략한다.