본문 바로가기

Spring Study

Spring 입문 Study - Spring 프로젝트 생성, Spring 라이브러리, Spring의 동작

728x90

인프런의 김영한 강사님의 강의를 토대로 학습내용을 저장하고 remind 하기 위해 포스팅 한다.

 

✅ Spring 프로젝트 생성하기

 

Spring 프로젝트를 생성하는 방법은 다른 프로젝트를 생성하는 것과 약간 다르다.

Spring 프로젝트를 생성하는 사이트는 다음과 같다.

https://start.spring.io/

 

빌드 관리 도구로 Gradle과 Maven을 선택할 수 있는데

요즘에는 대부분 Gradle을 사용한다고 한다. 레거시 프로젝트 같은 경우 아직

Maven을 사용하는 곳도 있다고 한다.

Gradle과 Maven에 대한 소개, 차이점은 따로 포스팅할 예정이다.

 

Spring3 으로 업데이트가 되면서 JAVA17을 사용해야 한다. 

아마 JAVA 11을 사용했을 때 뭔가 오류 메시지가 출력되었던 것 같다.

 

Spring 버전에서 SNAPSHOT 이라고 되어있는 버전은 개발 단계인 버전으로

SNAPSHOT이 붙지 않은 것을 골라주면 된다.

 

본인은 Spring 3.2.3을 선택했고 패키징은 JAR, JAVA 버전은 17을 선택했다.

프로젝트 생성 단계에서 Dependencies를 추가할 수 있는데 

Spring Web과 Thymeleaf를 선택했다. 

 

Generate 후 생성된 Zip 파일을 저장공간에 압축 해제하면 끝.

 

만약 자신이 IntelliJ Ultimate 버전을 사용하고 있다면 project - new 에서

Spring Initializr을 통해 Spring 프로젝트 생성이 가능하다.

 

✅Spring의 라이브러리

 

분명 나는 Spring Web과 Thymeleaf만 추가했지만 매우 많은 라이브러리들이 추가된 것을 확인할 수 있다.

이는 사용자가 어떤 라이브러리를 추가했을 때 SpringBoot가 해당 라이브러리가 의존하는 다른 라이브러리들을

자동으로 추가해주기 때문에 생성되는 것이다.

 

 

- 스프링 부트 라이브러리들

spring-boot-starter-web

    > spring-boot-starter-tomcat : 톰캣(웹서버)

    > spring-webmvc

 

spring-boot-starter-thymeleaf : 템플릿 엔진인 타임리프

 

spring-boot-starter (공통) : spring boot + spring core + logging

    > spring-boot

        > spring-core

 

spring-boot-starter-logging

    >  logback, slf4j

 

- 테스트 라이브러리

spring-boot-starter-test

- junit : 테스트 프레임워크, 최근에는 junit5를 사용하는 추세

- mockito : 목 라이브러리,  테스트에 필요한 Mock Object를 생성, 검증, 스터빙 해주는 자바 라이브러리라고 한다.

- assertj : 테스트 코드를 좀 더 편하게 작성하도록 도와주는 라이브러리

- spring-test : 스프링 통합 테스트 지원

 

 

✅ Spring의 동작

 

 

스프링에서는 컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버( viewResolver )가 화면을 찾아서 처리한다.

 

- 스프링 부트 템플릿엔진 기본 viewName

- 매핑 resources:templates/ +{ViewName}+ .html

 

위 같은 경우는 resources:templates/ + hello + . html 이 되겠다.

728x90
반응형