Project 구조
- 인텔리제이 왼쪽에 있는 Project 창
- 프로젝트 최상단은 [프로젝트명] 폴더
- 폴더명 앞에 '.'이 들어가는 이유 : 숨김 파일이라는 의미(리눅스 계열에서 .으로 숨김 여부 선택)
src - mian 디렉터리
java 디렉터리
- 패키지구조
- 자바 소스코드(.java)를 작성하는 공간
- 스프링부트의 컨트롤러, 폼과 DTO, 데이터 베이스 처를 위한 엔티티, 서비스 파일 등 존재
- 패키지.프로젝트명Application.java 파일
- 스프링부트 애플리케이션에서 시작을 담당하는 파일로 main() 메서드가 작성되어 있음
- 프로젝트시 생성한 이름으로 프로젝트명Application.java 파일이 자동으로 생성
- @SpringBootApplication 애너테이션을 통해 스프링부트의 모든 설정 관리
- Auto Configuration + Component Scan
- 복잡한 설정은 기본 설정으로 실행 + 컴포넌트를 빈으로 등록
resources 디렉터리
- 자바 파일을 제외한 HTML, CSS, Javascript, 환경파일 등을 작성하는 공간
- 정적 리소스들
- templates 디렉터리
- src/main/resources 디렉터리의 하위 디렉터리
- 템플릿 파일을 저장
- HTML 파일 형태로 자바 객체와 연동되는 파일
- static 디렉터리
- src/main/resources 디렉터리 하위 디렉터리
- 프로젝트의 스타일시트(.css), 자바스크립트(.js), 이미지파일(.jpg, .png)등을 저장
- application.properties 파일
- src/main/resources 디렉터리 안에 존재
- 프로젝트의 환경을 설정
- 프로젝트의 환경, 데이터베이스 등의 설정을 이 파일에 저장
src - test 디렉터리
java 디렉터리
- 작성한 파일을 테스트하기 위한 테스트 코드를 작성하는 공간
- JUnit과 스프링부트의 테스팅 도구를 사용하여 서버를 실행하지 않은 상태에서 src/main/java 디렉터리에 작성한 코드 테스트 가능
설정
.idea 디렉터리
- 해당 프로젝트에 적용되는 인텔리제이 설정 정보
.mvn 디렉터리
- 선택한 빌드도구가 메이븐일 경우, 메이븐을 사용하기 위한 파일
target 디렉터리
- 빌드 툴로 빌드했을 때 서버에 배포할 수 있는 Jar 파일 생성
- .java 소스코드의 컴파일 파일인 .class 파일 생성
build.gradle 파일
- 그레이들이 사용하는 환경 파일
- 그루비(Groovy)를 기반으로 한 빌드 도구로 Ant, Maven과 같은 이전 세대 빌드 도구의 단점을 보완하고 장점을 취합하여 만든 빌드 도구
- 프로젝트를 위해 필요한 플러그인과 라이브러리 등을 기술
.gitignore 파일
- Git(형성관리 툴) 관련 파일
- traget디렉터리 .idea디렉터리 같이 버전 관리 될 필요 없는 파일들을 모아 추적하지 않도록 관리
mvnw, mvnw.cmd 파일
- 메이븐 명령어를 실행하기 위한 스크립트 파일로 두 파일 내용은 동일
- mvnw : 리눅스 계열 운영체제에서 사용하는 스크립트
- mvnw.cmd : 윈도우에서 사용하는 스크립트
pom.xml 파일
- Project Object Model
- 프로젝트 관련 정보를 하나의 개체로 모델링 하고 있다는 뜻
- 스프링 이니셜라이저에서 저장했던 정보 확인 가능
- 프로젝트 생성 시점에서 추가하지 못했던 의존성을 추가 다운로드 하거나 제거 가능
'프레임워크 > Spring' 카테고리의 다른 글
[SpringBoot] 스프링 이니셜라이저(spring initializr) (0) | 2025.01.02 |
---|---|
[SpringBoot] SpringBoot? (0) | 2022.04.17 |