Spring Framework

Spring) 스프링부트 프로젝트 생성 / 라이브러리 살펴보기 / Veiw 환경설정

na_o 2022. 1. 3. 20:59
728x90

스프링 부트 프로젝트 만들어주는 사이트 : Spring Initializr

  • 프로젝트 선택
    • Project: Gradle Project
    • Spring Boot: 2.6.2
    • Language: Java
    • Packaging: Jar
    • Java: 11
  • Project Metadata
    • groupId: hello
    • artifactId: hello-spring
    • Dependencies: Spring Web, Thymeleaf

- Spring Boot 버전은 SNAPSHOT, M1 같은 미정식 버전을 제외하고 최신 버전을 사용하시면 됩니다.

> 예) 2.5.1 (SNAPSHOT) 이것은 아직 정식 버전이 아니므로 선택하면 안됩니다.

> 예) 2.5.0 이렇게 뒤에 영어가 붙어있지 않으면 정식 버전이므로 이 중에 최신 버전을 선택하면 됩니다.


라이브러리

Gradle은 의존관계가 있는 라이브러리를 함께 다운로드 한다

다운로드해야하기 때문에 초기 프로젝트를 불러올 때 인터넷이 필요하다

//application.properties
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'
}

처음 프로젝트를 생성할 때 Spring Web, Thymeleaf 라이브러리를 추가했었다

application.properties에 정의가 되고, 처음 프로젝트를 열 때 이 라이브러리를 다운받아야 한다

하지만 dependencies에 적혀있는 3개의 라이브러리만 다운받는 것이 아니다

의존관계가 있는 라이브러리를 함께 다운로드 한다

 

  • 스프링 부트 라이브러리
    • 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-starter-test
      • junit: 테스트 프레임워크
      • mockito: 목 라이브러리
      • assertj: 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리
      • spring-test: 스프링 통합 테스트 지원

 

 

Thymeleaf 템플릿 엔진 동작 환경

  • 컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버( viewResolver )가 화면을 찾아서 처리한다.
    • 스프링 부트 템플릿엔진 기본 viewName 매핑
    • resources:templates/ +{ViewName}+ .html