首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

改变 Grails 的缺省事宜行为

2012-12-18 
改变 Grails 的缺省事务行为Grails通过Service让我们不用进行任何配置就享受到了声明式事务这一特性。可是,

改变 Grails 的缺省事务行为
Grails通过Service让我们不用进行任何配置就享受到了声明式事务这一特性。可是,这也让我们不得不接受它预先设置的事务行 为:PROPAGATION_REQUIRED。要是我想使用其它的事务行为该如何做呢?没关系,使用@Transactional进行配置就行了。

废话少说,直奔正题。下例就展示了自定义Grails事务行为的做法:

Domain1Service,其中的saveDomain1负责保存Domain1,该方法的行为是始终都启动一个新事务。在这个方法的末端抛出了一个RuntimeException,这将让Grails回滚事务。这是为了证明咱们的配置确实生效了。

package cases     import org.springframework.transaction.annotation.*     class Domain1Service {              def domain1Service       ...           def test(){           println this.class          println domain1Service.class          this == domain1Service       }   }  


运行测试,你会发现结果为false,而且打印类似下列语句:
class cases.Domain1Serviceclass cases.Domain1Service$$EnhancerByCGLIB$$69fcb82 1 楼 luckarecs 2012-05-19   受益很多,谢谢!

热点排行