-
[Spring]스프링 프로젝트 만들기+분석Spring 2023. 3. 19. 18:43반응형
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다]
-> spring boot를 기반으로 스프링 프로젝트를 만들어주는 사이트
- Maven, Gradle
- 필요한 라이브러리를 가져오고 라이프사이클을 관리해주는 툴
- 과거에는 Maven을 많이 썼지만 최근에는 주로 Gradle 사용
- 의존 관계 관리해주는 툴((ex)spring-boot-starter-web는 tomcat, spring-mvc와 의존관계가 있음 즉, starter-web 라이브러리는 tomcat과 spring-mvc 라이브러리를 필요로 함 -> 이러한 필요로하는 라이브러리를 가져오는 것이 의존 관계 관리)
- Spring Boot 버전 선택
- SNAPSHOT : 아직 만들고 있는 버전
- M1 : 정식 릴리즈 버전x
- Project Metadata
- Group : 주로 기업명 기입
- Artifiact : 빌드된 결과물(프로젝트 명에 해당)
- Dependencies
- 어떤 라이브러리를 가져와서 쓸 것인지
- 추가할 라이브러리
- 1. Spring Web(여기에서는 웹 사이트를 만들 것이므로)
- 2. Thymeleaf(HTML을 만들어주는 템플릿 엔진)
- Generate 누르면 프로젝트 다운로드 가능
- 다운받은 프로젝트는 압축을 풀고 IntelliJ에서 open
<프로젝트 구조 분석>
- src - main - java 밑에 실제 패키지와 소스파일 있음
- src - test : test 관련 소스 들어감(실제 개발에서 test는 매우 중요!)
- gradle : gradle 관련 소스 들어감
- src - main - resources : java 코드파일을 제외한 xml, properties, 설정파일, html 등이 들어감(java 파일 제외한 나머지는 모두 resources라고 보면 됨)
- src - build.gradle : 매우 중요!!!!!
<build.gradle>
- gradle : 버전 설정 및 라이브러리 가져오는 데에 사용
- plugins
id 'org.springframework.boot' version '3.0.4'
- spring 버전
sourceCompatibility = '11'
- java 11 버전 사용하고 있다는 뜻
repositories { mavenCentral() }
- 라이브러리를 mavenCentral(라이브러리를 다운받을 수 있는 공개된 사이트)에서 다운로드 받아라고 설정해 놓은 것
- 특정 사이트 url을 repositories에 넣는 것도 가능
dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' }
- thymeleaf, starter web은 프로젝트 생성 시 추가했던 라이브러리
- test 라이브러리는 기본적으로(자동으로) 들어가는 라이브러리
<gitignore>
- git에는 소스코드만 올라가고 빌드된 결과물 등은 올라가면 안 됨 -> start.spring.io에서 자동으로 소스파일을 제외한 나머지가 올라가지 않도록 해줌
<빌드>
- 빌드 완료 후 localhost:8080에 접속했을 때 Whitelabel Error Page가 뜨면 성공한 것
<참고>
[무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의
스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런
www.inflearn.com
반응형'Spring' 카테고리의 다른 글
[Spring]MVC와 템플릿 엔진 (0) 2023.03.20 [Spring]정적 컨텐츠 (0) 2023.03.20 [Spring]빌드하고 실행하기 (0) 2023.03.19 [Spring]View 환경설정 (0) 2023.03.19 [Spring]라이브러리 살펴보기 (0) 2023.03.19