강의 세션
프로젝트 생성
start.spring.io
- Spring Web : Restful, Spring MVC 기능을 사용할 수 있는 라이브러리
- Thymeleaf : HTML 템플릿 엔진 라이브러리
Generate → zip해제 → dependency download(gradle based)
![Untitled](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/947e0a1f-8765-4802-b51b-e741d967d7d0/Untitled.png)
![Untitled](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/3354b224-9acd-432c-a5f9-87d47daa0534/Untitled.png)
- main → 자바 코드 파일
- test → 테스트 코드
- resources → 코드를 제외한 리소스 파일 (html, img 등)
- build.gradle → 의존성 관리(라이브러리)
- mavenCentral() [라이브러리 저장소]
실행
![Untitled](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/8845bde5-5c79-42fd-8879-636c16b96a7c/Untitled.png)
- main문을 실행하면 스프링 프레임워크에 내장된 Tomcat WebServer 동작
- intelliJ > preference > gradle > build with intelliJ 로 설정하면 더 빠르게 빌드됨
라이브러리 살펴보기
- gradle, maven은 의존관계를 관리해주는 빌드툴이다.
- spring-boot-starter-web을 명시하면 해당 라이브러리와 의존관계가 있는 모든 라이브러리를 fetch함
- tomcat, web, mvc , core ... 등
- 스프링 프레임워크는 톰캣이 내장되어있어, 별도 웹서버를 구축할 필요가 없다.
- 참고 ] 로깅 : SLF4j, logback
- SLF4j는 인터페이스 역할. 구현체는 logback
- log4j → logback → log4j2로 개발되었고, 최근 log4j2를 많이 사용하는 추세
- log4j2를 사용하기 위해서는 logback의 디펜던시 제거 작업 진행
- 정리) SLF4j(인터페이스)를 사용하여 log4j2(구현체)를 사용
- Junit : 테스팅 라이브러리
- assertj : 테스팅 기능 지원 라이브러리