DepotBusinessApplication.java 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package com.chinaitop.depot;
  2. import org.activiti.spring.boot.SecurityAutoConfiguration;
  3. import org.mybatis.spring.annotation.MapperScan;
  4. import org.springframework.boot.SpringApplication;
  5. import org.springframework.boot.autoconfigure.SpringBootApplication;
  6. import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
  7. import org.springframework.boot.web.servlet.ServletRegistrationBean;
  8. import org.springframework.cache.annotation.EnableCaching;
  9. import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
  10. import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
  11. import org.springframework.context.annotation.Bean;
  12. import org.springframework.context.annotation.ComponentScan;
  13. import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
  14. import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;
  15. import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
  16. import org.springframework.web.servlet.DispatcherServlet;
  17. import springfox.documentation.swagger2.annotations.EnableSwagger2;
  18. @EnableEurekaClient
  19. @EnableDiscoveryClient
  20. @EnableCaching
  21. @EnableRedisHttpSession
  22. @EnableSwagger2
  23. @SpringBootApplication(
  24. //exclude = {DataSourceAutoConfiguration.class} // 禁止自动配置数据源,多数据源需采用手动配置
  25. exclude = SecurityAutoConfiguration.class
  26. )
  27. @MapperScan(basePackages = {"com.chinaitop.depot.*.mapper"})
  28. public class DepotBusinessApplication {
  29. public static void main(String[] args) {
  30. SpringApplication.run(DepotBusinessApplication.class, args);
  31. }
  32. /**
  33. * 注册一个dispatcherServlet,解决增加ws之后https接口访问不了问题
  34. */
  35. @Bean
  36. public ServletRegistrationBean restServlet(){
  37. //注解扫描上下文
  38. AnnotationConfigWebApplicationContext applicationContext = new AnnotationConfigWebApplicationContext();
  39. //base package
  40. applicationContext.scan("com.chinaitop.depot.unissoft");
  41. //通过构造函数指定dispatcherServlet的上下文
  42. DispatcherServlet rest_dispatcherServlet = new DispatcherServlet(applicationContext);
  43. //用ServletRegistrationBean包装servlet
  44. ServletRegistrationBean registrationBean = new ServletRegistrationBean(rest_dispatcherServlet);
  45. registrationBean.setLoadOnStartup(1);
  46. //指定urlmapping
  47. registrationBean.addUrlMappings("/*");
  48. //指定name,如果不指定默认为dispatcherServlet
  49. registrationBean.setName("rest");
  50. return registrationBean;
  51. }
  52. @Bean
  53. public ThreadPoolTaskScheduler threadPoolTaskScheduler() {
  54. return new ThreadPoolTaskScheduler();
  55. }
  56. }