SysManageApplication.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package com.steerinfo;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import org.mybatis.spring.annotation.MapperScan;
  5. import org.springframework.boot.SpringApplication;
  6. import org.springframework.boot.autoconfigure.SpringBootApplication;
  7. import org.springframework.cache.annotation.EnableCaching;
  8. import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
  9. import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
  10. import org.springframework.cloud.netflix.hystrix.EnableHystrix;
  11. import org.springframework.cloud.openfeign.EnableFeignClients;
  12. import org.springframework.context.annotation.Bean;
  13. import org.springframework.context.annotation.ComponentScan;
  14. import org.springframework.http.MediaType;
  15. import org.springframework.http.converter.HttpMessageConverter;
  16. import org.springframework.transaction.annotation.EnableTransactionManagement;
  17. import org.springframework.web.bind.annotation.RestController;
  18. import org.springframework.web.context.request.RequestContextListener;
  19. import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
  20. import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  21. import org.springframework.scheduling.annotation.EnableScheduling;
  22. import com.alibaba.fastjson.serializer.SerializerFeature;
  23. import com.alibaba.fastjson.support.config.FastJsonConfig;
  24. import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
  25. import springfox.documentation.swagger2.annotations.EnableSwagger2;
  26. @EnableTransactionManagement // mybatis中service实现类中加入事务注解
  27. @RestController // 在启动类中注入HttpMessageConverters
  28. @MapperScan(basePackages={"com.steerinfo.**"})
  29. @ComponentScan(basePackages={"com.steerinfo.**"})
  30. @EnableCaching
  31. @SpringBootApplication
  32. @EnableSwagger2
  33. @EnableFeignClients
  34. @EnableCircuitBreaker
  35. @EnableHystrix
  36. public class SysManageApplication implements WebMvcConfigurer{
  37. public static void main(String[] args) {
  38. SpringApplication app = new SpringApplication(SysManageApplication.class);
  39. // app.addListeners(new ContextRefreshedListener());
  40. app.run(args);
  41. }
  42. @Bean
  43. public RequestContextListener requestListener() {
  44. return new RequestContextListener();
  45. }
  46. @Override
  47. public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
  48. // 1.创建一个converter对象
  49. FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
  50. // 2.创建配置对象
  51. FastJsonConfig fastJsonConfig = new FastJsonConfig();
  52. // 3.添加配置
  53. fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss"); // 自定义时间格式
  54. fastJsonConfig.setSerializerFeatures(SerializerFeature.WriteMapNullValue); // 正常转换 null 值
  55. // 4.将配置添加到转换器对象中
  56. fastConverter.setFastJsonConfig(fastJsonConfig);
  57. // 5. 解决中文乱码问题
  58. List<MediaType> mediaTypes = new ArrayList<MediaType>();
  59. mediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
  60. fastConverter.setSupportedMediaTypes(mediaTypes);
  61. // 6.将转换器对象转化为HttpMessageConverter对象
  62. HttpMessageConverter<?> converter = fastConverter;
  63. // 7.增加一行注解
  64. converters.add(fastConverter);
  65. }
  66. @Override
  67. public void addResourceHandlers(ResourceHandlerRegistry registry) {
  68. registry.addResourceHandler("/static/**").addResourceLocations("file:/static/");
  69. }
  70. }