Thymeleaf
[Thymeleaf] 타임리프 스프링 통합
GreedyBE
2023. 3. 10. 12:16
타임리프는 스프링을 사용하지 않는 환경에서도 활용 가능하지만, 스프링과 통합하여 사용하면 좀 더 생산성 있는 개발을 할 수 있는 여러 기능을 제공한다.
스프링 통합으로 추가되는 기능들
- 스프링 SpringEL 문법 통합
- 스프링 검증, 오류 처리 통합
- 스프링 변환 서비스 통합
- 스프링 메시지, 국제화 기능의 편리한 통합
- ${@myBean.doSomething()} 과 같은 스프링 빈 호출 지원
- 편린한 폼 관리를 위한 추가 속성
- th:object : 기능 강화, 폼 커맨드 객체 선택
- th:field, th:errors, th:errorclass 등 - 폼 컴포넌트 기능
- checkbox, radio button, List 등을 편리하게 사용
타임리프 사용을 위한 설정
- 타임리프를 스프링에 적용하기 위해서는 타임리프 템플릿 엔진을 스프링 빈에 등록하고, 타임리프용 뷰 리졸버를 스프링 빈으로 등록 필요
- 하지만 스프링 부트에서는 아래와 같은 코드를 등록해줌으로서 build.gradle을 통해 이러한 과정을 자동으로 진행
- Gradle은 타임리프 통합을 위한 관련 추가 라이브러리를 다운로드하고, 설정을 위한 스프링 빈을 등록하는 등의 과정 진행
build.gradle
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
※ 타임리프 메뉴얼
- 기본 메뉴얼 : https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html
- 스프링 통합 메뉴얼 : https://www.thymeleaf.org/doc/tutorials/3.0/thymeleafspring.html
- 그 외 스프링 부트 타임리프 설정 :
https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-applicationproperties.html#common-application-properties-templating