1 spring.xml
在此配置文件中只配置service,不要配置controller <context:component-scan base-package="com.yrcn.my.services" />
2 sprigmvc.xml
<!-- 在此配置文件中只配置service,不要配置controller -->
<context:component-scan base-package="com.yrcn.my.controller" />
<!-- 事务控制 -->
<tx:annotation-driven transaction-manager="txManager" />
3 mybatis
配置事物
<bean id="txManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 事务控制 -->
<tx:annotation-driven transaction-manager="txManager" />
这个问题花费我好就时间,网上都是说在加载的时候,用下面的去处理:
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" /> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" />
实际上这也没有什么问题,但是如果没有在springmvc.xml加上这也一句,仍然要有问题的:
<tx:annotation-driven transaction-manager="txManager" />
千万注意上面这一句出现两次,mybatis中和springmvc配置文件中都要有,因为mvc和mybatis的配置的上下文不一样。
当然这是注解的方式去配置的,java类里面要加上对应的注解。