关于Spring父容器和SpringMvc子容器

时间:2022-11-01 09:21:20

在SSM项目中,会有SpringMvc容器(子容器)和Spring容器(父容器) 一共2个容器

基本规则:

子容器可以访问父容器的bean,父容器不能访问子容器的bean.

当<context:component-scan base-package=“com.test" />配置到applicationContext.xml中,而springMVC中不配置的时候,Spring加载了所有的bean,

,Controller层的这个bean,springMVC虽然可以访问到,但是springMVC认为他只是一个bean,而不知道他还是一个controller,所以请求无法到达controller。controller 需要被springmvc容器进行处理,请求才可以被处理。

为了避免这种问题的产生,我们一般配置springMVC只扫描controller包。spring容器扫描service,dao层的包,各司其职。