为什么使用 Spring Boot? (五)

第3步:配置Spring MVC Web层Beans

我们必须配置Thymeleaf ViewResolver,静态ResourceHandlers,适用于国际化的MessageSource,等等。

@Configuration @ComponentScan(basePackages = { "com.sivalabs.demo"})  @EnableWebMvc public class WebMvcConfig extends WebMvcConfigurerAdapter {

    @Bean     public TemplateResolver templateResolver() {

        TemplateResolver templateResolver = new ServletContextTemplateResolver();

        templateResolver.setPrefix("/WEB-INF/views/");

        templateResolver.setSuffix(".html");

        templateResolver.setTemplateMode("HTML5");

        templateResolver.setCacheable(false);

        return templateResolver;

    }

 

    @Bean     public SpringTemplateEngine templateEngine() {

        SpringTemplateEngine templateEngine = new SpringTemplateEngine();

        templateEngine.setTemplateResolver(templateResolver());

        return templateEngine;

    }

 

    @Bean     public ThymeleafViewResolver viewResolver() {

        ThymeleafViewResolver thymeleafViewResolver = new ThymeleafViewResolver();

        thymeleafViewResolver.setTemplateEngine(templateEngine());

        thymeleafViewResolver.setCharacterEncoding("UTF-8");

        return thymeleafViewResolver;

    }

 

    @Override     public void addResourceHandlers(ResourceHandlerRegistry registry)     {

        registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");

    }

 

    @Override     public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer)     {

        configurer.enable();

    }

 

    @Bean(name = "messageSource")

    public MessageSource configureMessageSource()     {

        ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();

        messageSource.setBasename("classpath:messages");

        messageSource.setCacheSeconds(5);

        messageSource.setDefaultEncoding("UTF-8");

        return messageSource;

    }

}

在我们的WebMvcConfig.java配置类中我们完成以下操作:

  • 使用@Configuration注解将其标记为Spring配置类。

  • 使用@EnableWebMvc启用基于注解的Spring MVC配置,

  • 通过注册TemplateResolver, SpringTemplateEngine, ThymeleafViewResolver Bean来配置Thymeleaf ViewResolver。武汉微信开发,移动开发,湖北软件开发公司。武汉微信开发,移动开发,湖北软件开发公司。

  • 注册ResourceHandlers Bean表明URI/resources/**静态资源请求将由本地/resources/目录提供服务。

  • 配置MessageSource Bean通过ResourceBundle加载classpath下的messages-{country-code}.properties国际化信息。

目前我们没有要配置的信息,所以在src/main/resources文件夹下创建一个空的messages.properties文件。


关于Topideas | 战略合作 | 内容合作 | 渠道合作 | 版权商标 | 隐私声明 | 工作机会 | 联系我们

Copyright © 2012 Topideas 版权所有

湖北 - 武汉 | 各个商标由其各自所有者持有 鄂ICP备13005502

咨询(客服) 咨询(客服)

欢迎给我们留言