国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

spring boot 實現配置多個DispatcherServlet最簡單方式

瀏覽:16日期:2023-07-25 15:06:53

傳統的web項目,只需要在web.xml里配置多個即可,并且支持多個url-pattern

在spring boot中,我們默認無需配置,系統會自動裝配一個,感興趣的可以看下源碼

org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration

里面有個 DispatcherServletRegistrationBean,關鍵是這里只能指定一個path,如下的源碼截圖

spring boot 實現配置多個DispatcherServlet最簡單方式

spring boot 實現配置多個DispatcherServlet最簡單方式

spring boot 實現配置多個DispatcherServlet最簡單方式

如果想要指定多個,我們只能自己寫DispatcherServletRegistrationBean這個Bean了,那么系統就不會實例化內置的那個了,如下代碼

@Autowired

private WebMvcProperties webMvcProperties;@Autowiredprivate MultipartConfigElement multipartConfig;

@Bean @Primary

public DispatcherServletRegistrationBean dispatcherServlet1(DispatcherServlet dispatcherServlet) { DispatcherServletRegistrationBean registration = new DispatcherServletRegistrationBean( dispatcherServlet, '/*'); registration.setName('dispatcherServlet1'); registration.setLoadOnStartup( this.webMvcProperties.getServlet().getLoadOnStartup()); if (this.multipartConfig != null) { registration.setMultipartConfig(this.multipartConfig); } return registration;}

@Bean

public DispatcherServletRegistrationBean dispatcherServlet2(DispatcherServlet dispatcherServlet) { DispatcherServletRegistrationBean registration = new DispatcherServletRegistrationBean( dispatcherServlet, '/aaa/*'); registration.setName('dispatcherServlet2'); registration.setLoadOnStartup( this.webMvcProperties.getServlet().getLoadOnStartup()); if (this.multipartConfig != null) { registration.setMultipartConfig(this.multipartConfig); } return registration;}

@Bean

public DispatcherServletRegistrationBean dispatcherServlet3(DispatcherServlet dispatcherServlet) { DispatcherServletRegistrationBean registration = new DispatcherServletRegistrationBean( dispatcherServlet, '/bbb/*'); registration.setName('dispatcherServlet3'); registration.setLoadOnStartup( this.webMvcProperties.getServlet().getLoadOnStartup()); if (this.multipartConfig != null) { registration.setMultipartConfig(this.multipartConfig); } return registration;}

這樣我們參考底層源碼,我們做了三個Bean,注意有一個一定要加上@Primary注解,否則啟動會有報錯。

如果我們系統有一個接口url是/api/test,那么通過/aaa/api/test或者/bbb/api/test也都可以訪問了。

不建議的寫法、、、

@Bean public ServletRegistrationBean apiDispatcherServlet(){ AnnotationConfigWebApplicationContext applicationContext = new AnnotationConfigWebApplicationContext(); applicationContext.scan('com.be.edge.asset.web.api'); DispatcherServlet apiDispatcherServlet = new DispatcherServlet(applicationContext); ServletRegistrationBean registrationBean = new ServletRegistrationBean(apiDispatcherServlet); registrationBean.addInitParameter('throwExceptionIfNoHandlerFound', 'true'); registrationBean.setLoadOnStartup(1); registrationBean.addUrlMappings('/api/*'); registrationBean.setName('apiDispatcherServlet'); return registrationBean; } @Bean public ServletRegistrationBean mgmtDispatcherServlet(){ AnnotationConfigWebApplicationContext applicationContext = new AnnotationConfigWebApplicationContext(); applicationContext.scan('com.be.edge.asset.web.controller'); DispatcherServlet apiDispatcherServlet = new DispatcherServlet(applicationContext); ServletRegistrationBean registrationBean = new ServletRegistrationBean(apiDispatcherServlet); registrationBean.setLoadOnStartup(2); registrationBean.addInitParameter('throwExceptionIfNoHandlerFound', 'true'); registrationBean.addUrlMappings('/mgmt/*'); registrationBean.setName('mngDispatcherServlet'); return registrationBean; }

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Spring
相關文章:
主站蜘蛛池模板: 亚洲精品欧美精品国产精品 | 喷潮白浆 | 毛片免费观看视频 | 亚洲综合日本 | 国产成人毛片视频不卡在线 | 久久久久久久亚洲精品一区 | 91精品久久一区二区三区 | 一级一片免费视频播放 | 国产精品久久久久影院色老大 | 5x社区直接进入一区二区三区 | 亚洲欧洲一区二区 | 久久精品国产99久久72 | 美女免费黄视频 | 国产亚洲欧美一区二区 | 日本三级香港三级人妇gg在线 | 欧美xxx精品 | 成人中文字幕在线观看 | 99精选视频 | 亚洲成人影院在线观看 | 亚洲国产精品激情在线观看 | 亚洲精品久久久久午夜三 | 欧美日韩在线看 | 亚洲成年人免费网站 | 美女视频永久黄网站免费观看国产 | 国产在线拍揄自揄视精品不卡 | 亚洲精品字幕一区二区三区 | 亚洲 欧美 中文字幕 | 免费毛片a线观看 | 亚洲一区二区三区首页 | 日韩在线视频不卡一区二区三区 | 欧美日韩中文字幕在线观看 | 日韩欧美a级高清毛片 | 欧美高清亚洲欧美一区h | 日韩在线不卡一区在线观看 | 国产一区二区三区成人久久片 | 国产一区二区三区欧美 | 精品一区二区在线欧美日韩 | 一级二级三级毛片 | 欧美激情国产一区在线不卡 | 久久成人免费观看草草影院 | 狠狠一区 |