Spring MVC初始化過程如下圖所示。
Spring MVC有自己的ApplicationContext,這個ApplicationContext只包含@Controller。其它的Spring Bean如@Service,@Resource,@Component等存在於Root ApplicationContext裏。Root ApplicationContext是Spring MVC ApplicationContext的父ApplicationContext,Spring MVC ApplicationContext可以稱作是子ApplicationContext,這一步是在FrameworkServlet的createWebApplicationContext方法中設置的。如果@Controller引用了@Service,@Controller會從Root ApplicationContext找到對應的@Service,但是Root ApplicationContext不能從子ApplicationContext查找Bean。
Spring MVC處理HTTP請求的過程如下圖所示。
推薦資料:
2、SpringMVC深度探險(一) —— SpringMVC前傳
3、SpringMVC深度探險(二) —— SpringMVC概覽
4、SpringMVC深度探險(三) —— DispatcherServlet與初始化主線
5、SpringMVC深度探險(四) —— SpringMVC核心配置文件詳解