在傳統的xml項目中,使用spring靜態資源攔截很是簡單,須要在dispatchor的xml中加入mvc命名空間spring
而後使用 網絡
<mvc:default-servlet-handler/>
以及mvc
<mvc:resources location="/xxx/**" mapping="/xxx/"/>
便可映射到。路徑能夠是磁盤的位置,也能夠是網絡位置。這樣作的好處就是咱們能夠最簡單的實現靜態資源與項目分離。實現對靜態資源的統一管理app
固然,本文不是針對有xml配置。那麼,在沒有配置文件的工程中如何啓用靜態資源攔截呢?spa
第一步須要註冊spring的根上下文和servlet上下文xml
我這裏使用的是實現WebApplicationInitializer 的方式,你們也能夠使用繼承繼承
以下三個類以達到一樣的效果,廢話很少說,進入正題:資源
重寫onStartup方法來初始化spring容器和springmvc子容器。servlet
而後在mvc配置類繼承WebMvcConfigurerAdapter適配器,重寫 addResourceHandlers(ResourceHandlerRegistry registry) 方法,定義路徑,等同於it
<mvc:resources location="/xxx/**" mapping="/xxx/"/>
再重寫
configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) 使其生效,等同於
<mvc:default-servlet-handler/>
以後啓動工程便可使用咱們配置的路徑訪問到對應靜態資源。
在這裏要注意: location後面的** 是必需要加的。若是不加就不會生效