개발용 메모장...

[Java]/[Spring]

[SpringBoot] Thymeleaf 설정

redeyesboy 2024. 8. 26. 14:11

1. 의존성 추가

- pom.xml

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
	<groupId>org.thymeleaf.extras</groupId>
	<artifactId>thymeleaf-extras-springsecurity6</artifactId>
</dependency>
<dependency>
	<groupId>nz.net.ultraq.thymeleaf</groupId>
	<artifactId>thymeleaf-layout-dialect</artifactId>
</dependency>
<dependency>
	<groupId>com.github.mxab.thymeleaf.extras</groupId>
	<artifactId>thymeleaf-extras-data-attribute</artifactId>
</dependency>

 

2. Thymeleaf 관련 설정 추가

- application.properties

spring.thymeleaf.enabled=true
spring.thymeleaf.mode=HTML
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.check-template=true
spring.thymeleaf.check-template-location=true
# profile 분리필요: 운영 true, 개발 false
spring.thymeleaf.cache=false

 

3. Spring Boot 설정 파일 추가

@Configuration
public class ThymeleafConfig {

	@Bean
	@ConfigurationProperties(prefix = "spring.thymeleaf")
	SpringResourceTemplateResolver springResourceTemplateResolver() {
		return new SpringResourceTemplateResolver();
	}

	@Bean
	SpringTemplateEngine springTemplateEngine(SpringResourceTemplateResolver springResourceTemplateResolver) {
		SpringTemplateEngine springTemplateEngine = new SpringTemplateEngine();
		springTemplateEngine.setTemplateResolver(springResourceTemplateResolver);
		springTemplateEngine.addDialect(new LayoutDialect());
		springTemplateEngine.addDialect(new DataAttributeDialect());
		springTemplateEngine.addDialect(new SpringSecurityDialect());
		return springTemplateEngine;
	}

}