web.xml,通过查看log4j的日志可以发现在服务器启动时applicationContext.xml是先于spring3-servlet.xml加载,因此applicationContext.xml中已经注册到BeanFactory的bean在spring3-servlet.xml也是可以使用的,比如在applicationContext.xml中通过context:component-scan扫描了service和dao包,而在spring3-servlet.xml只扫描了web包,但web包中的Controller依然被注入了Service。

Spring MVC 加载顺序依次为: 

ContextLoader —> XmlWebApplicationContext —> XmlBeanDefinitionReader —> PropertyPlaceholderConfigurer —> ContextLoader (完成)

DispatcherServlet —> XmlWebApplicationContext —> XmlBeanDefinitionReader —> DefaultAnnotationHandlerMapping —> DispatcherServlet (完成)

因此,applicationContext.xml 中已经注册到BeanFactory的bean,在spring3-servlet.xml也是可以使用的,比如在applicationContext.xml中通过context:component-scan扫描了service和dao包,而在spring3-servlet.xml只扫描了web包,但web包中的Controller依然被注入了Service

web.xml各个标签的加载顺序:context-param -> listener -> filter -> servlet

 

 

 

 

参考推荐

Maven 构建 Spring MVC 项目的简单示例

MyBatis Generator 详解

Mybatis-Generator自动生成Dao、Model、Mapping

Spring MVC 详细示例实战

Spring 具体分析applicationContext.xml和spring3-servlet.xml (推荐