本文主要是介绍Spring的applicationContext和spring-mvc.xml的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
applicationcontext.xml一般里面是配置dataSource以及相关的IOC容器中存放的相关bean。而spring-mvc.xml一般配置一些与web相关的东西。两个东西没什么关联。
在配置<context:component-scan>的时候,最好分开配置。在spring-mvc中一般只扫描controller层,配置为
<context:component-scan base-package="com.pro.**.controller" use-default-filters="false"><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
</context:component-scan>
在其他spring配置中扫描其他的包,注意不要包含controller。
另外,不要配置了<context:annotation-config>又配置<context:component-scan>。<context:component-scan>在实现的时候包含了<context:annotation-config>。在实际编程过程中,只需要在xml配置文件中配置<context:annotation-config>就可以了。
applicationContext是mvc context的父容器,mvc context可以引用applicationContext的bean,而applicationContext无法引用到mvc的bean,如果你这样配,有些东西如果applicationContext需要,它就找不到了,所以还不如全放到applicationContext中。
spring查找bean,会现在当前context中查找,如果没有满足的,再到父容器查找,
applicationContext是在web.xml中配置的ContentLoader监听器启动的,当xml启动时加载,并按照一个约定的key放在java的ServletContext中,然后mvc 的servlet初始化时,先从ServletContext中按照约定的key取出来,以它为父容器,去创建mvc的容器。
再说,两个不同的spring context,是不会有冲突的,是可以存在相同的bean定义的,只不过优先查找当前context,不存在才往上找。
这篇关于Spring的applicationContext和spring-mvc.xml的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!