공부한 내용을 정리하며 기록하는 글이고 주관적인 생각이 들어갈 수 있습니다.
잘못된 내용이나 피드백 및 생각 공유는 언제든 환영입니다.
댓글로 남겨주시면 확인 후 수정하겠습니다.
스프링 부트의 핵심 라이브러리들을 알아 보겠습니다.
아래의 버튼을 클릭해서 우측 상단의 Gradle을 누르고 Dependencies를 보면
아까 시작할 때 설정해 다운 받았던 라이브러리들을 볼 수 있습니다.
이에 대한 라이브러리를 간단하게 설명하자면 아래와 같이 구성되어 있습니다.
스프링 부트 라이브러리
- 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-test
- junit: 테스트 프레임워크
- mockito: 목 라이브러리
- assertj: 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리
- spring-test: 스프링 통합 테스트 지원
Thymeleaf를 사용하지 않고 JSP로만 화면을 보여줬을 때에는
/src/main/webapp/WEB-INF/view/안에 JSP 파일들을 넣고 다뤘었는데
Thymeleaf만을 사용하게 되면 /src/main/resources/templates/안에서
HTML 파일들에 대해서 다루게 됩니다.
테스트를 하기 위해 일단 /src/main/resources/static/안에
테스트 용도의 index.html을 넣었습니다. index.html은 localhost:8080으로
접속할 때 자동적으로 들어가게 설정되어 있는 파일명입니다.
그리고 spring 개념에서 값을 넘겨주면서 페이지를 넘겨주는
중요한 역활인 controller를 만들어서 hello라는 링크가 들어왔을 때
get 방식으로 hello라는 viewName을 리턴시켰습니다.
controller에서 Thymeleaf는 resources:templates/ +{ViewName}+ .html로 매핑을 합니다.
그래서 /src/main/resources/templates/에 hello.html을 만듭니다.
그 후 웹 상에서 controller가 잘 작동되는 지 확인을 해 봅니다.
잘 작동이 되면 powershell에서도 잘 작동 되는 지 아래 명령어로 확인합니다.
실행한 상태에서 localhost:8080을 접속하면 잘 작동 됩니다.
현재 스프링에서는 Thymeleaf를 권장하고
최근 개발자들 또한 jsp 대신 thymeleaf를 사용하는 추세라고 합니다.
JSP 대신 Thymeleaf를 사용하면 장점들을 알아보았습니다.
1. 자연스러운 HTML 템플릿
Thymeleaf는 일반적인 HTML 문법을 사용하므로 개발자가 템플릿을 작성하기 쉽습니다.
JSP의 경우에는 HTML에 Java 코드를 혼합해야 하는 경우가 많아 가독성이 떨어질 수 있습니다.
2. 서버와 클라이언트 사이드 렌더링
Thymeleaf는 서버 측에서 템플릿을 렌더링하여 클라이언트에게 전달하는 방식으로 작동합니다.
이는 서버에서 초기 렌더링을 처리하고 클라이언트에서는 렌더링 로직이 필요하지 않으므로
성능과 사용자 경험 면에서 이점을 제공합니다.
3. 풍부한 기능과 유연성
Thymeleaf는 다양한 기능을 제공하며,
조건문, 반복문, 변수, 템플릿 상속 등과 같은 고급 기능을 지원합니다.
또한, 다국어 지원, 자동 이스케이프 처리, 템플릿 캐싱 등의
기능을 제공하여 개발 생산성을 향상시킵니다.
4. Spring Framework 통합
Thymeleaf는 Spring Framework와 긴밀하게 통합되어 있습니다.
Spring MVC와 함께 사용하면 컨트롤러와 뷰를 간단하게 연결할 수 있으며,
Spring Security와도 호환되어 인증 및 권한 관리를 쉽게 구현할 수 있습니다.
5. 디자이너 및 프론트엔드 개발자와의 협업 용이성
Thymeleaf 템플릿은 HTML로 작성되기 때문에 디자이너와 협업이 용이합니다.
디자이너는 기존 HTML 템플릿을 수정하고 스타일링할 수 있으며,
개발자는 템플릿에 필요한 동적 데이터를 추가하여 개발할 수 있습니다.
Spring Boot 라이브러리 및 Controller 실행 확인에 대해서 알아 보았습니다.
'SPRING' 카테고리의 다른 글
Spring Boot 기초 설정 (0) | 2023.06.15 |
---|