context,exclude-filter 与 context,include-filter

1 在主容器中 (applicationContext.xml) ,将Controller的注解打消掉

1
2
3
4
5
6
7

<context:component-scan base-package="com">
   
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
  
</context:component-scan>

2 而在springMVC配置文件中将Service注解给去掉

1
2
3
4
5
6
7
8
9

<context:component-scan base-package="com">
   
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
   
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" />
   
</context:component-scan>

因为spring的context是父子容器,所以会产生冲突,Controller会进步前辈行扫描装配,而此时的Service还没有进行事务的加强处理,获得的将是原样的Service (没有经过事务加强处理,故而没有事务处理能力) ,最后才是applicationContext.xml中的扫描设备进行事务处理