Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- KSUG
- Spring Boot
- OAuth 2.0
- 데브툴즈
- WebApplicationInitializer
- 스프링시큐리티
- ServletContextInitializer
- apache thrift
- spring cloud config
- OAuth2.0
- @MVC
- spring-mybatis
- 스프링
- spring cloud
- spring boot 1.3
- spring camp
- Fiilter
- 스프링 부트
- spring security
- Spring Security OAuth
- spring boot devtools
- spring
- spring boot mybatis
- elasticache
- 인텔리J
- spring test mvc
- Spring MVC
- Multi DataSource
- devtools
- mybatis
Archives
- Today
- Total
홍이의 개발 노트
스프링 부트에서 Thymeleaf3 설정하기 ( 부트스럽게?! ) 본문
스프링 부트(글쓰는시점 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
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
mypackage.Thymeleaf3AutoConfiguration
Application.class
@SpringBootApplication(exclude = ThymeleafAutoConfiguration.class)
public class Application {
// ...
}
@SpringBootApplication(exclude = ThymeleafAutoConfiguration.class)
public class Application {
// ...
}
또는
@Import(Thymeleaf3AutoConfiguration.class) // 기본 패키지가 다르면
@SpringBootApplication(exclude = ThymeleafAutoConfiguration.class)
public class Application {
// ...
}
@Import(Thymeleaf3AutoConfiguration.class) // 기본 패키지가 다르면
@SpringBootApplication(exclude = ThymeleafAutoConfiguration.class)
public class Application {
// ...
}
기존 2버전 설정과 충돌 나기 때문에 기존 자동으로 되던 설정 부분을 제외 해줘야 한다.
이제 끝이다.
템플릿 자체는 기존 2버전과는 어느정도 호환이 되는 것 같다.
좀더 사용해봐야 알겠지만 ...
엔진을 기존 XHTML 형태에서 완전히 변경했다고 한다.
속도 자체를 개선했다고 하니 좀더 사용해봐야 겠다.