-
[스프링입문] 1. 프로젝트 환경설정INFLEARN/스프링 입문 - 코드로 배우는 스프링 부트 2022. 6. 13. 23:46
1. 프로젝트 환경설정
[강의 정리] 김영한님 :: 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
1. 프로젝트 생성
# 준비물
- Java 11
- IDE (IntelliJ or Eclipse)
# 스프링 부트 스타터
- https://start.spring.io/
- Project : Gradle Project - 요즘 추세가 Maven에서 Gradle로 넘어옴
- Language : Java
- Spring Boot : 2.7.x - SNAPSHOT은 테스트 중
- Project Metadata
- Group : hello - 큰 틀, 회사, 그룹, 조직
- artificatId : hello-spring - 각각의 기능, 산출물
- Packaging : Jar
- Java : 11
- Dependencies: Spring Web, Thymeleaf
# Gradle 설정
- build.gradle - 버젼설정, 라이브러리
- IntelliJ 사용시 : IntelliJ는 Gradle을 통해서 실행하는 것이 기본 설정인데 실행속도가 느림
- 자바로 바로 실행하는 방법으로 변경하여 실행속도를 빠르게 할 수 있음
- Preferences -> Build, Execution, Deployment -> Build Tools -> Gradle
- IntelliJ IDEA로 변경
# IntelliJ JDK 설치 확인
- File -> Project Structure
- JDK 11
- 위에 Gradle에서 JDK 설정도 확인
# 스프링 부트 라이브러리
Gradle은 의존관계가 있는 라이브러리를 함께 다운로드
- spring-boot-starter-web
- spring-boot-starter-tomcat : 톰캣 (서버)
- spirng-webmvc : 스프링 웹 MVC
- spring-boot-starter-thymeleaf : 타임리프 템플릿 엔진 (View)
- spring-boot-starter (공통) : 스프링 부트 + 스프링 코어 + 로깅(스프링 관련된거 전부..)
- spring-boot : spring-core
- spring-boot-starter-logging : logback, slf4j
# 테스트 라이브러리
- spring-boot-starter-test
- junit (5) : 테스트 프레임워크
- mockito : 목 라이브러리
- assertj : 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리
- spring-test : 스프링 통합 테스트 지원
2. View 환경설정
# Welcome Page
- resources/static/index.html (정적)
# thymeleaf 템플릿 엔진
- resources/templates/hello.html (정적)
# thymeleaf 템플릿엔진 동작 환경
- 웹 브라우저에서 localhost:8080/hello 호출
- 내장 톰캣 서버
- 스프링 컨테이너 helloController 호출
- return : hello, model(data: spring!) - 화면으로 렌더링
- viewResolver : 컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버(viewResolver)가 화면을 찾아서 처리
- resources: templates/ + (ViewName) + .html
- hello.html로 변환 후 웹 브라우저로 리턴
# 빌드하고 실행하기
- ./gradlew build
- cd build/libs
- java -jar hello-spring-0.0.1-SNAPSHOT.jar
- 실행 확인
'INFLEARN > 스프링 입문 - 코드로 배우는 스프링 부트' 카테고리의 다른 글
[스프링입문] 6. 스프링 DB 접근 기술 (0) 2022.06.13 [스프링입문] 4. 스프링 빈과 의존관계 (0) 2022.06.13 [스프링 입문] 3. 회원 관리 예제 - 백엔드 개발 (0) 2022.06.13 [스프링입문] 2. 스프링 웹 개발 기초 (0) 2022.06.13