一般我们在ApplicationContext.xml中会看到<context:component-scan>标签,同时在mvc-servlet.xml也会存在该标签,两者略微有点不同。
ApplicationContext.xml
mvc-servlet.xml
两者的区别可以理解为ApplicationContext是spring父容器,注册service、dao层的bean,mvc-servlet是子容器,注册controller层的bean。如果在mvc-servlet.xml中没有添加<context:include-filter>标签,会将service、dao层的bean再注册一次,并且因为<aop:aspectj-autoproxy>标签配置在ApplicationContext.xml中,会导致mvc-servlet.xml中注册的bean事务失效。
另外<context:*-filter>标签中的type有5个如下所示: