關於 spring 和 springMVC 掃描包時,springMVC只掃描 @Controller 的問題
最近在搭建 ssm 過程的時候發現,在spring和springmvc中都配置了掃描包的註解(<context:component-scan base-package=“com.ithm” >),springmvc 只配置 @Controller ,spring 配置其他的,那麼現在問題來了,爲什麼他倆就不能一起配置呢?
下面是 spring 和 springmvc 的配置
applicationContext.xml
<context:component-scan base-package="com.kz" >
<!-- 配置哪些註解不掃描 expression 需要放全路徑 -->
<!-- 不掃描 Controller -->
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/》
</context:component-scan>
mybatis.xml
<context:component-scan base-package="com.kz">
<!-- 只掃描 Controller -->
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>–>
</context:component-scan>
因爲如果讓SpringMVC掃描@Service或者其他對數據庫操作的對象的有關注解的話,會讓 SpringCore失去對事務的控制,所以最好不要那樣寫。雖然直接在 spingmvc中配置掃描全部可行