💻 구조 파악하기
- 📗 책 기준 : 2-01
📗 공부 사이트 : https://wikidocs.net/160047
이 글은 혼자 공부해보려고 정리한 글 입니다. (글 요약을 위해 생략된 부분이 좀 있음!)
공부하기를 원하신다면, 무조건 여기 들어가서 직접 보는 걸 추천드립니다 ^ㅁ^
저 사이트에서 설명 너무 잘해주시고, 자세하게 다 알려주시니까 제 글은 그냥 보조 역할 정도로만 봐주세요!
현재 프로젝트 구조
- 이미 진행을 좀 한 후에 글을 작성하는 것이라 구조가 좀 다를 것이다. 원래는 answer 폴더도 없어야하고, static이나 templates에도 뭐가 없어야한다. 그치만 이 글에서는 구조만 파악할 것이기 때문에 괜찮다. 혹시나 헷갈린다면 점프 투 스프링부트 원문을 참고하면 된다!
1. sbb/main/java 디렉터리
- 프로젝트에 관련된 내용들을 코딩하는 곳이다.
- 여기에 컨트롤러, 폼, DTO, 서비스 등을 작성한다. (내 생각에는, 실질적인 코드들은 거의 다 여기에 작성하는 것 같음!)
2. SbbApplication.java 파일
- 1번 디렉터리에 속해있는 파일이다.
- 이 파일은 맨 처음에 시작했을 때부터 있었다.
- 여기가 C언어의 main 함수 같은 느낌으로 보인다. (여기가 시작 담당이기 때문!!)
- 파일 이름은 "[프로젝트명]+Application" 이다. (나는 만들 때 Sbb라고 써서 SbbApplication라고 적혀있다)
- 이 곳에 class 가 있는데, 그 class 위에 @SpringBootApplication 어노테이션이 꼭 적용되어있어야한다!
* 어노테이션이란?
- '주석' 이라는 뜻을 가지고 있다.
- @ 기호를 앞에 붙여서 사용한다.
- 프로그램에게 추가적인 정보를 제공해주는 메타데이터라고 할 수 있다. (메타데이터는 데이터를 위한 데이터를 말한다)
- 용도는 다음과 같다.
1. 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보 제공
2. 소프트웨어 개발툴이 빌드나 배치시 코드를 자동으로 생성할 수 있도록 정보 제공
3. 런타임시 특정 기능을 실행하도록 정보 제공
( 출처 : https://honeyinfo7.tistory.com/56 )
3. sbb/test/java 디렉터리
- 테스트를 위해 테스트 코드를 작성하는 부분이다.
- 여기는 서버를 실행하지 않고 테스팅 도구만을 이용해서 실행시킬 수 있다.
- 나중에 여기에다가 db 관련 코드들을 작성해서 db에 내용을 삽입하기도 하고, 검색도 하고 삭제도 한다.
(그런식으로 좀 이용하는 부분인듯 하다 - 내 생각)
4. src/main/resources 디렉터리
- static 디렉터리, templates 디렉터리, 환경 설정 (application.properties) 가 있는 곳이다.
- 자바 코드 빼고 다 있는 느낌인듯하다.
5. static 디렉터리
- css, js, jpg, img 등을 담아두는 곳이다. (정적인 친구들 모아둔 느낌)
6. templates 디렉터리
- 템플릿 파일들을 담아두는 곳이다.
- 템플릿 파일들은 html 형태다.
- 템플릿 파일들은 자바 객체와 연동된다.
(나중에 컨트롤러에서 return 할 때 html 이름으로 return한다!)
7. application.properties 파일
- 이 프로젝트의 환경 설정을 담당한다.
- 나중에 여기다가 데이터베이스 정보도 적고, JPA 설정에 대한 내용도 적는다! (요런식으로 환경 설정~)
8. build.gradle 파일
- gradle이 사용하는 환경 파일이다.
- 여기에는 프로젝트를 위한 플러그인이나 라이브러리등을 적는다.
- 예를 들면, 이런식으로 필요한 친구들을 쭉 적어둔다.
다른 파일들도 많지만 여기까지가 좀 중요한 친구들이라고 하셨다.
위에 있는 것들의 용도만 잘 알아도 어느 정도 괜찮을 것으로 보인다. 파이팅 ^ㅁ^!
'spring boot 공부' 카테고리의 다른 글
[Spring Boot] 컨트롤러 (0) | 2022.07.30 |
---|---|
[Spring Boot] Spring Boot와 AWS RDS (MySQL) 연동 (0) | 2022.07.28 |
[Spring Boot] 스프링부트 개발 도구 설치 (0) | 2022.07.20 |
[Spring Boot] 스프링 부트 시작하기 (브라우저에 Hello World 문구 출력) (0) | 2022.07.20 |
[Spring Boot] 개발환경 준비하기 (스프링 부트를 위한 인텔리제이 설정) (0) | 2022.07.18 |