홍이의 개발 노트

스프링 부트에서 Thymeleaf3 설정하기 ( 부트스럽게?! ) 본문

개발이야기/스프링(Spring)

스프링 부트에서 Thymeleaf3 설정하기 ( 부트스럽게?! )

코바 2016. 5. 19. 01:45

스프링 부트(글쓰는시점 1.4 m3)에서 아직 Thymeleaf 3의 지원이 안되고 있다.

그래서 사용하기 위해 설정을 해보았다.

사실 그냥 기본 스프링스럽게 만드는건 어렵지 않지만 부트스럽게 재구성해보았다.

그리고 기본 스프링부트에서 지원하는 Thymeleaf 2 버전과 기본 자체가 호환되도록 구성했다.

(딱히 기존 Thymeleaf 커스터마이징 없으면 바로 사용할 수 있도록 말이다.)


먼저 의존성 설정 

Gradle Dependency

dependencies {
// ...
        compile "org.thymeleaf:thymeleaf-spring4:3.0.0.RELEASE"
        compile "org.thymeleaf:thymeleaf:3.0.0.RELEASE"
// ...
}

MAVEN Dependency

<dependency>
  <groupId>org.thymeleaf</groupId>
  <artifactId>thymeleaf</artifactId>
  <version>3.0.0.RELEASE</version>
</dependency>
<dependency>
  <groupId>org.thymeleaf</groupId>
  <artifactId>thymeleaf-spring4</artifactId>
  <version>3.0.0.RELEASE</version>
</dependency>

그리고 소스 ( 패키지는 알아서 ... )



그리고 Boot 설정

src/main/resources/META-INF/spring.factories

모듈 형태로 나누어질 때

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
mypackage.Thymeleaf3AutoConfiguration

Application.class

@SpringBootApplication(exclude = ThymeleafAutoConfiguration.class)
public class Application {
// ...
}

또는 

@Import(Thymeleaf3AutoConfiguration.class) // 기본 패키지가 다르면 @SpringBootApplication(exclude = ThymeleafAutoConfiguration.class) public class Application { // ... }

기존 2버전 설정과 충돌 나기 때문에 기존 자동으로 되던 설정 부분을 제외 해줘야 한다. 


이제 끝이다. 

템플릿 자체는 기존 2버전과는 어느정도 호환이 되는 것 같다.

좀더 사용해봐야 알겠지만 ...

엔진을 기존 XHTML 형태에서 완전히 변경했다고 한다.

속도 자체를 개선했다고 하니 좀더 사용해봐야 겠다.