我們知道spring在web.xml中可以有三種方式來配置其xml路徑:
org.springframework.web.servlet.DispatcherServlet
org.springframework.web.context.ContextLoaderListener
org.springframework.web.context.ContextLoaderServlet
當(dāng)使用第一種方式配置時,spring載入的WebApplicationContext是隸屬于此Servlet的(所以spring可以配置多個分別擁有各自環(huán)境的DispatcherServlet),因此其他servlet無法獲取到該Context。這一現(xiàn)象在buffalo配置時曾經(jīng)出現(xiàn)(無法找到服務(wù)bean)。分析了buffalo和spring的源碼后,將xml在ContextLoaderListener配置才得以解決。