Java tutorial
/* * Copyright 2014 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.lightadmin.logging.configurer.config; import org.lightadmin.logging.configurer.LoggingConfigurerSettings; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.ViewResolver; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import org.thymeleaf.spring4.SpringTemplateEngine; import org.thymeleaf.spring4.resourceresolver.SpringResourceResourceResolver; import org.thymeleaf.spring4.view.ThymeleafViewResolver; import org.thymeleaf.templateresolver.TemplateResolver; import javax.servlet.ServletContext; /** * TODO: Document me! * * @author Maxim Kharchenko (kharchenko.max@gmail.com) */ @Configuration @EnableWebMvc @ComponentScan(basePackages = { "org.lightadmin.logging.configurer" }) public class LightLoggerConfiguration extends WebMvcConfigurerAdapter { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/styles/**").addResourceLocations("classpath:/static/styles/"); registry.addResourceHandler("/scripts/**").addResourceLocations("classpath:/static/scripts/"); registry.addResourceHandler("/images/**").addResourceLocations("classpath:/static/images/"); } @Bean @Autowired public LoggingConfigurerSettings loggingConfigurerSettings(ServletContext servletContext) { return new LoggingConfigurerSettings(servletContext); } @Bean public SpringResourceResourceResolver thymeleafResourceResolver() { return new SpringResourceResourceResolver(); } @Bean public TemplateResolver templateResolver() { TemplateResolver resolver = new TemplateResolver(); resolver.setResourceResolver(thymeleafResourceResolver()); resolver.setPrefix("classpath:/views/"); resolver.setSuffix(".html"); resolver.setTemplateMode("HTML5"); resolver.setCacheable(false); resolver.setCharacterEncoding("UTF-8"); resolver.setOrder(1); return resolver; } @Bean public ViewResolver viewResolver() { ThymeleafViewResolver viewResolver = new ThymeleafViewResolver(); viewResolver.setTemplateEngine(templateEngine()); viewResolver.setOrder(1); viewResolver.setViewNames(new String[] { "*" }); viewResolver.setCache(false); return viewResolver; } private SpringTemplateEngine templateEngine() { SpringTemplateEngine engine = new SpringTemplateEngine(); engine.setTemplateResolver(templateResolver()); return engine; } }