spring容器和SpringMVC容器的区别

说起spring容器和SpringMVC容器,很多刚接触spring框架的同志都有点懵,甚至是一头雾水,分不清楚两者的关系和区别,包括本人也是,因此还在网上找个不少资料。这俩容器呢虽然有必然的联系,但是他们的区别也是有的。下面我就简单描述下。
首先 springmvc和spring它俩都是容器,容器就是管理对象的地方,例如Tomcat,就是管理servlet对象的,而springMVC容器和spring容器,就是管理bean对象的地方,再说的直白点,springmvc就是管理controller对象的容器,spring就是管理service和dao的容器,这下你明白了吧。所以我们在springmvc的配置文件里配置的扫描路径就是controller的路径,而spring的配置文件里自然配的就是service和dao的路径
SpringMVC.xml文件所配置的路径:

<context:component-scan base-package="com.jd.controller"/>

applicationContext-service.xml文件所配置的路径:

<!--开启注解扫描 扫描dao层和service层-->
<context:component-scan base-package="com.gx.dao,com.jd.service">
    <context:include-filter expression="org.springframework.stereotype.Service" type="annotation"/>
    <context:include-filter expression="org.springframework.stereotype.Repository" type="annotation"/>
</context:component-scan>

其次, spring容器和springmvc容器的关系是父子容器的关系。spring容器是父容器,springmvc是子容器。在子容器里可以访问父容器里的对象,但是在父容器里不可以访问子容器的对象,说的通俗点就是,在controller里可以访问service对象,但是在service里不可以访问controller对象
  所以这么看的话,所有的bean,都是被spring或者springmvc容器管理的,他们可以直接注入。然后springMVC的拦截器也是springmvc容器管理的,所以在springmvc的拦截器里,可以直接注入bean对象。

<!--SpringMVC 拦截器配置(可以多个)--> 
<mvc:interceptors> 
<!--配置拦截器--> 
<mvc:interceptor> 
<!--配置拦截的资源--> 
<mvc:mapping path="/**"/> 
<!--配置拦截器bean对象--> 
<bean class="com.jd.interceptor.MyInterceptor1"/> 
</mvc:interceptor> 
</mvc:interceptors>
  • 8
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值