Spring事务管理高级应用难点剖析: 第2部分 - 编程入门网
Context ctx =
new ClassPathXmlApplicationContext("user/special/applicationContext.xml");
UserService service = (UserService) ctx.getBean("userService");
System.out.println("before method1");
service.method1();
System.out.println("after method1");
System.out.println("before method2");
service.method2();
System.out.println("after method2");
System.out.println("before method3");
service.method3();
System.out.println("after method3");
System.out.println ("before method4");
service.method4();
System.out.println("after method4");
}
}
Spring事务管理高级应用难点剖析: 第2部分(6)时间:2012-04-26 IBM 陈雄华在运行 UserService 之前,将 Log4J 日志级别设置为 DEBUG,运行以上代码查看输出日志,如下所示 :
观察以上输出日志,很容易发现 method1~method3 这 3 个方法都没有被实施 Spring 的事务 增强,只有 method4 被实施了事务增强。这个结果刚才验证了我们前面的论述。 我们 通过下表描述哪些特殊方法将成为 Spring AOP 事务增强的漏网之鱼: 表 2. 不能被 Spring AOP 事务增强的方法
Spring事务管理高级应用难点剖析: 第2部分(7)时间:2012-04-26 IBM 陈雄华不过,需要特别指出的 是,这些不能被 Spring 事务增强的特殊方法并非就不工作在事务环境下。只要它们被外层的 事务方法调用了,由于 Spring 的事务管理的传播特殊,内部方法也可以工作在外部方法所启 动的事务上下文中。我们说,这些方法不能被 Spring 进行 AOP 事务增强,是指这些方法不能 启动事务,但是外层方法的事务上下文依就可以顺利地传播到这些方法中。 |
||||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |