DispatcherServletConfiguration.java 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package com.jeeplus.modules.act.rest;
  2. import java.util.List;
  3. import com.fasterxml.jackson.databind.ObjectMapper;
  4. import org.slf4j.Logger;
  5. import org.slf4j.LoggerFactory;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.context.annotation.Bean;
  8. import org.springframework.context.annotation.ComponentScan;
  9. import org.springframework.context.annotation.Configuration;
  10. import org.springframework.core.env.Environment;
  11. import org.springframework.http.converter.HttpMessageConverter;
  12. import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
  13. import org.springframework.scheduling.annotation.EnableAsync;
  14. import org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer;
  15. import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
  16. import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
  17. import org.springframework.web.servlet.i18n.SessionLocaleResolver;
  18. import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
  19. @Configuration
  20. @ComponentScan({"org.activiti.rest,org.activiti.conf"})
  21. @EnableAsync
  22. public class DispatcherServletConfiguration extends WebMvcConfigurationSupport {
  23. private final Logger log = LoggerFactory.getLogger(DispatcherServletConfiguration.class);
  24. @Autowired
  25. private ObjectMapper objectMapper;
  26. @Autowired
  27. private Environment environment;
  28. @Bean
  29. public SessionLocaleResolver localeResolver() {
  30. return new SessionLocaleResolver();
  31. }
  32. @Bean
  33. public LocaleChangeInterceptor localeChangeInterceptor() {
  34. log.debug("Configuring localeChangeInterceptor");
  35. LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();
  36. localeChangeInterceptor.setParamName("language");
  37. return localeChangeInterceptor;
  38. }
  39. @Bean
  40. public RequestMappingHandlerMapping requestMappingHandlerMapping() {
  41. log.debug("Creating requestMappingHandlerMapping");
  42. RequestMappingHandlerMapping requestMappingHandlerMapping = new RequestMappingHandlerMapping();
  43. requestMappingHandlerMapping.setUseSuffixPatternMatch(false);
  44. Object[] interceptors = {localeChangeInterceptor()};
  45. requestMappingHandlerMapping.setInterceptors(interceptors);
  46. return requestMappingHandlerMapping;
  47. }
  48. @Override
  49. public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
  50. addDefaultHttpMessageConverters(converters);
  51. for (HttpMessageConverter<?> converter : converters) {
  52. if (converter instanceof MappingJackson2HttpMessageConverter) {
  53. MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = (MappingJackson2HttpMessageConverter) converter;
  54. jackson2HttpMessageConverter.setObjectMapper(objectMapper);
  55. break;
  56. }
  57. }
  58. }
  59. @Override
  60. protected void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
  61. configurer.favorPathExtension(false);
  62. }
  63. }