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