关于Spring事务<tx:annotation-driven/>的理解
首先,
一般的配置方法是让Spring管理除了Controller注解以外注解,而让SpringMVC单纯管理Controller注解。 也就是说Spring有一个配置文件,里面配置成扫描非Controller的bean,SpringMVC有一个配置文件,里面只扫描Controller。 这样就形成了两个上下文,即Spring的上下文和SpringMVC的上下文,他们分别管理着不同的俩堆bean。 这个时候你在Spring的配置文件里加了一句tx:annoation-driven,其实是告诉Spring,你管理的这些bean里面有可能会出现需要事务支持的。 然后在Spring管理范围的某个bean上加了个注解@transactional,其实是用来帮助Spring识别这个bean是需要事务管理的。 同样你在Spring的配置文件里加了tx:annoation-driven,SpringMVC是不关心的,他只关心你给他配置了什么以及他管理的bean上有什么注解