Skip to content

Instantly share code, notes, and snippets.

@mcihad
Created May 7, 2017 15:35
Show Gist options
  • Save mcihad/2652c76833a6f7fc41baa9714f6f694e to your computer and use it in GitHub Desktop.
Save mcihad/2652c76833a6f7fc41baa9714f6f694e to your computer and use it in GitHub Desktop.
Thymeleaf Annotation Config
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
import org.springframework.core.env.Environment;
import org.thymeleaf.spring4.SpringTemplateEngine;
import org.thymeleaf.spring4.templateresolver.SpringResourceTemplateResolver;
import org.thymeleaf.spring4.view.ThymeleafViewResolver;
import nz.net.ultraq.thymeleaf.LayoutDialect;
@Configuration
@PropertySource("classpath:application.properties")
public class ThymeleafConfig {
@Autowired
Environment env;
@Bean("templateResolver")
public SpringResourceTemplateResolver templateResolver() {
SpringResourceTemplateResolver resolver=new SpringResourceTemplateResolver();
resolver.setPrefix(env.getProperty("template.prefix"));
resolver.setSuffix(env.getProperty("template.suffix"));
resolver.setCharacterEncoding(env.getProperty("template.encoding"));
resolver.setTemplateMode(env.getProperty("template.mode"));
resolver.setCacheable(Boolean.getBoolean(env.getProperty("template.cacheable")));
return resolver;
}
@Bean("templateEngine")
public SpringTemplateEngine templateEngine() {
SpringTemplateEngine engine=new SpringTemplateEngine();
engine.addDialect(new LayoutDialect());
engine.setTemplateResolver(templateResolver());
return engine;
}
@Bean("viewResolver")
public ThymeleafViewResolver viewResolver() {
ThymeleafViewResolver resolver=new ThymeleafViewResolver();
resolver.setCharacterEncoding(env.getProperty("template.encoding"));
resolver.setTemplateEngine(templateEngine());
return resolver;
}
@Bean("messageSource")
public ReloadableResourceBundleMessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource=new ReloadableResourceBundleMessageSource();
messageSource.setBasename(env.getProperty("message.basename"));
messageSource.setDefaultEncoding(env.getProperty("message.encoding"));
return messageSource;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment