[스프링 입문] Section 01 - 프로젝트 환경설정
카테고리: Spring-Tutorial
1. 스프링 프로젝트 생성
- 스프링 부트 스타터를 이용함
밑바닥부터 만드는 것이 아닌 boot를 사용하여 시작하도록 한다. (https://start.spring.io)
- 프로젝트 선택
Project
: Gradle ProjectSpring Boot
: 가장 최신 버전Language
: JavaJava
: 11
Gradle Project
: 필요한 라이브러리를 땡겨오고, 빌드하는 Life Cycle까지 관리해주는 Tool로써, 과거 maven에서 요즘은 graddle로 바뀌는 추세라고 한다.
- Project Metadata
Group Id
: helloartifactId
: hello- spring
artifact
: 빌드되어 나오는 결과물
- Dependencies
‘라이브러리 간 의존관계’를 말하는 것으로 여기서는 어떤 라이브러리를 가져다 쓸 것인지 선택하는 것이다.
Spring Web
Thymeleaf
Thymeleaf
: html을 만들어주는 템플릿 엔진
2. 라이브러리를 살펴보자
Gradle은 의존관계가 있는 라이브러리를 함께 다운로드 한다.
main 과 test의 폴더가 나뉘어져 있음 -> test code의 중요성을 의미한다.
- 스프링 부트 라이브러리
- spring-boot-starter-web
spring-boot-starter-tomcat
: 톰캣(웹서버)- spring-webmvc: 스프링 웹 MVC
- spring-boot-starter-thymeleaf: 타임리프 템플릿 엔진(View)
- spring-boot-starter(공통): 스프링부트 + 스프링 코어 + 로깅
- spring-boot
- spring-core
- spring-boot-starter-logging
logback
,slf4j
- spring-boot
spring-boot-starter-tomcat
: 과거엔 웹 서버에 java code를 직접 밀어 넣는 방식이었는데, 지금은 소스 라이브러리에 웹 서버가 내장되어 있다.
logback
, slf4j
: 이 두 라이브러리를 주로 많이 쓴다고 한다.
log
에 대하여: 결과값 출력을 system에 하지 않고 log로 출력하는 이유는 로그 파일도 따로 관리가 되고, 심각한 에러 발생 시에 따로 모아서 볼 수도 있기 때문이다.
- 테스트 라이브러리
- spring-boot-starter-test
junit
: 테스트 프레임워크mockito
: 목 라이브러리assertj
: 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리spring-test
: 스프링 통합 테스트 지원
junit
: 자바에서 테스트할 때 주로 쓰는 라이브러리로 요즘 4에서 5로 넘어가는 추세라고 한다.
3. Welcome Page를 통해 동작 과정을 알아보자
1st. 웹 브라우저가 서버에 요청하면
2nd. Mapping 되어 있는 것을 찾아서
3rd. 해당 controller에 있는 메소드를 실행한다.
4th. controller가 반환한 값을 받아 viewResolver가 화면을 찾아 처리해준다.
댓글 남기기