본문 바로가기
Develop/Back-End

[Spring Boot] 프로젝트 기본 구조를 알아보자

by 초코칩프라푸치노 2021. 5. 1.

⊙ Spring Boot 기본 디렉터리

Spring Boot 설치 후 프로젝트 생성 시, 디렉터리가 기본적으로 아래의 형식으로 생성된다. 

  • src/main/java
  • src/main/resources
  • src/test/java
  • Project and External Dependencies
  • build.gradle

하나씩 알아보도록 하자.

 

⊙ src/main/java 디렉터리

기존의 스프링 프로젝트와 마찬가지로 클래스, 인터페이스 등 자바 파일이 위치하는 디렉터리이다.

기본적으로 프로젝트 내 패키지에 Application 클래스가 하나 포함되어 있다. 이 파일에는 main 메서드가 하나 선언되어 있는데, SpringApplication.run 메서드를 호출하여 웹 어플리케이션을 실행하는 역할을 한다.

클래스 선언부에 있는 @SpringBootApplication 애너테이션은 스프링 부트의 기존적인 설정을 선언해준다.

  • @EnableAutoConfiguration: 스프링 부트 개발에 필요한 필수적인 설정 처리
  • @ComponentScan: DI 과정을 더욱 간편하게 만든다.
  • @Configuration: 자바 기반의 설정 파일로 인식하게 만든다.

⊙ src/main/resources 디렉터리

  • templates: 화면과 관련된 파일을 관리, 타임리프(Thymeleaf) 템플릿 엔진의 사용 권장
  • static: css, fonts, images, plugin, scripts 등의 정적 리소스 파일 위치
  • application.properties: 웹 애플리케이션을 실행하면서 자동으로 로딩되는 파일

⊙ src/test/java 디렉터리

패키지 내에 있는 ApplicationTests 클래스를 통해 각각의 개발 단계에 알맞은 테스트를 진행할 수 있다.

 

⊙ Project and External Dependencies

그레이들(Gradle)은 단 한 줄의 코드를 통해 라이브러리를 추가할 수 있다. 개발 진행 과정에서 파일에 추가한 라이브러리를 확인할 수 있다.

 

⊙ build.gradle

기존의 메이븐(Maven) 방식보다 버전 문제, 충돌 문제, 종속 문제와 같은 Error가 덜 발생해 최근에는 그레이들을 선호하는 추세이다.

 

⊙ MVC 패턴

  • M - 모델(Model): 데이터를 처리하는 영역으로, 데이터 베이스와 통신하고 사용자가 원하는 데이터를 가공하는 역할을 한다.
  • V - 뷰(View): 사용자가 보는 화면을 의미하며, HTML과 타임리프를 사용하여 화면을 처리한다.
  • C - 컨트롤러(Controller): 모델 영역과 뷰 영역의 중간 다리 역할을 하는 영역. 사용자가 웹에서 어떠한 요청을 하면, 가장 먼저 컨트롤러를 경유한다. 컨트롤러는 사용자의 요청을 처리할 어떠한 로직을 호출하고, 호출한 결과를 사용자에게 전달하는 역할을 한다.

 

 

반응형

댓글