這是jeesite3裡面配置的一段,掃描器的代碼,為什麼要這麼配置,直接掃描不行嗎?
為什麼要讓主容器和mvc容器,分別掃描不同的東西?
<!-- 使用Annotation自動注冊Bean,解決事物失效問題:在主容器中不掃描@Controller注解,在SpringMvc中只掃描@Controller注解。 -->
<context:component-scan base-package="com.thinkgem.jeesite"><!-- base-package 如果多個,用“,”分隔 -->
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<!-- 使用Annotation自動注冊Bean,只掃描@Controller -->
<context:component-scan base-package="com.thinkgem.jeesite" use-default-filters="false"><!-- base-package 如果多個,用“,”分隔 -->
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
因為 Controller 是mvc的控制器函數,所以在控制器裡需要找到它們。在別的地方需要忽略它們