spring initializer
- 최근엔 대부분 Gradle Project 사용
- Dependencies: 라이브러리를 끌어와서 쓸건데, 어떤 라이브러리를 가져와서 쓸거냐
build.gradle
- thymeleaf: 템플릿 엔진. html 만들어줌
라이브러리
🌟 Gradle은 의존관계가 있는 라이브러리를 함께 다운로드 한다.
⇒ 내가 하나의 라이브러리만 땡겨도 연쇄적으로 알아서 필요한 라이브러리 땡겨오는 구조.
spring-boot-starter-web
- spring-boot-starter-tomcat: 톰캣 (웹서버)
- spring-webmvc: 스프링 웹 MVC
spring-boot-starter-thymeleaf: 타임리프 템플릿 엔진(View)
- spring-boot-starter(공통): 스프링 부트 + 스프링 코어 + 로깅
- spring-boot
- spring-boot-starter-logging
테스트 라이브러리
- spring-boot-starter-test
- junit: 테스트 프레임워크
- mockito: 목 라이브러리
- assertj: 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리
- spring-test: 스프링 통합 테스트 지원
템플릿 엔진 동작
@Controller
public class HelloController {
@GetMapping("hello")
public String hello(Model model) {
model.addAttribute("data", "hello!!");
return "hello";
}
}
- 컨트롤러에서 리턴값으로 문자를 반환하면 뷰 리졸버(’viewResolover’)가 화면을 찾아서 리턴 ⇒ 컨트롤러에서 hello를 리턴함. ⇒ resources/templates/hello.html을 찾아서 리턴
- 스프링부트 템플릿 엔진 기본 viewName 매핑
- resources:templates/ + { viewName }+ .html