반응형
Notice
Recent Posts
Recent Comments
Link
It's easy, if you try
[SpringBoot] 스프링부트와 JPA 활용 섹션 1- 라이브러리 의존과 Thymeleaf 본문
반응형
목표
- 스프링부트 프로젝트에서 사용되는 라이브러리의 의존성에 대해 알아보자
- Thymeleaf가 무엇인지 알아보자
스프링부트 라이브러리
1. 라이브러리 의존 관계 확인하는 법
라이브러리 의존 ? Gradle 이란? (라이브러리 의존성) (tistory.com)
터미널에 해당 프로젝트 폴더로 이동 > ./gradlew dependencises : 의존 관계를 확인할 수 있다.
핵심 라이브러리
- spring mvc
- spring orm
- JPA, 하이버네이트
- 스프링 데이터 JPA
- 스프링 데이터 JPA는 스프링과 JPA를 먼저 이해하고 사용해야 하는 응용기술이다.
기타 라이브러리
- H2 데이터베이스 클라이언트
- 커넥션 풀: 부트 기본은 HikariCP
- WEB(thymeleaf)
- 로깅 SLF4J & LogBack
- 테스트
Spring 가이드 : https://spring.io/guides
springboot-devtools
셋팅 확인 : restartMain
build > recompile '파일명' 누르면 새로고침만으로 바뀜
오른쪽 탭에서 Gradle > Dependencies 를 통해 라이브러리 의존성 확인 가능
spring-boot-stater-web
- embedded tomcat을 가지고 있다.
- spring-webmvc 의존
thymeleaf
spring-boot-starter-data-jpa
Thymeleaf (https://www.thymeleaf.org/)
- 자바에서 server-side 렌더링을 지원해주는 Java Template Engine
- 유지 관리가 수월한 템플릿을 작성하도록 지원
- HTML이 브라우저에 올바르게 표시될 수 있고, 정적 프로토타입으로도 작동하여 더 강력한 협업을 가능하게 한다.
- Spring Framework용 모듈, 즐겨 사용하는 도구와의 통합 및 자체 기능을 플러그인할 수 있는 기능을 통해 HTML5 JVM 웹 개발에 이상적으로 작동한다.
- 다양한 웹 개발 프레임워크에서 작성할 수 있다.
- Springboot에서 사용하기 위해서는 Maven이나 Gradle같은 빌드 툴을 이용한다.
Natural Template
Thymeleaf로 작성된 HTML 템플릿은 여전히 HTML처럼 보이고 작동한다.
<table>
<thead>
<tr>
<th th:text="#{msgs.headers.name}">Name</th>
<th th:text="#{msgs.headers.price}">Price</th>
</tr>
</thead>
<tbody>
<tr th:each="prod: ${allProducts}">
<td th:text="${prod.name}">Oranges</td>
<td th:text="${#numbers.formatDecimal(prod.price, 1, 2)}">0.99</td>
</tr>
</tbody>
</table>
Thymeleaf가 제공해주는 Template
- HTML
- XML
- TEXT
- Javascript
- Css
- Raw
반응형
'스프링' 카테고리의 다른 글
[SpringBoot] 스프링부트와 JPA 활용 섹션 3, 4 - 어플리케이션 아키텍처/ 개발순서 / 엔티티, 리포지토리, 서비스, 테스트 작성 (1) | 2023.02.19 |
---|---|
[SpringBoot] 스프링부트와 JPA 활용 섹션 2 - 도메인 분석 설계 / Entity 클래스 작성 (1) | 2023.02.15 |
[Spring] 스프링 입문 강의 섹션 5, 6, 7 - 웰컴페이지/ DB 접근기술/ AOP (1) | 2023.02.07 |
[Spring] 스프링 입문 강의 섹션 3 - 웹 어플리케이션 계층 구조 / 도메인, 리포지토리, 테스트케이스 작성 (0) | 2023.01.19 |
[Spring] 스프링 입문 강의 섹션 1,2 - 프로젝트 초기 세팅 / 라이브러리 / 웹 개발 기초(구조) (0) | 2023.01.12 |
Comments