grails中有个Service支持事务操作,但你如果想用Spring的事务,可以在grails-app/spring/resources.xml中加入spring的事务声明,如下所示:
resource.xml 代码
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:aop="http://www.springframework.org/schema/aop"
- xmlns:tx="http://www.springframework.org/schema/tx"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
- http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
-
-
- <bean id="userImpl" class="transaction.UserImpl">
- <property name="sessionFactory" ref="sessionFactory"/>
- </bean>
-
-
- <tx:advice id="txAdvice" transaction-manager="txManager">
-
-
- <tx:attributes>
-
-
-
-
- <tx:method name="*"/>
- </tx:attributes>
- </tx:advice>
-
-
-
- <aop:config proxy-target-class="true">
- <aop:pointcut id="fooServiceOperation" expression="execution(* transaction.*.*(..))"/>
- <aop:advisor advice-ref="txAdvice" pointcut-ref="fooServiceOperation"/>
- </aop:config>
-
-
-
- <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
- <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
- <property name="url" value="jdbc:mysql://localhost:3306/OA"/>
- <property name="username" value="root"/>
- <property name="password" value=""/>
- </bean>
-
-
-
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
- <property name="dataSource" ref="dataSource"/>
-
- </bean>
-
- <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
- <property name="sessionFactory" ref="sessionFactory"/>
- </bean>
-
-
-
-
- </beans>
UserImpl.groovy 代码
- package transaction
-
- import com.jr.nj.hibernate.Event
- import org.hibernate.SessionFactory
- import org.hibernate.Session
- import org.springframework.orm.hibernate3.HibernateTemplate
-
-
- class UserImpl {
- def sessionFactory
- def save(params) throws Exception {
- def event =new Event()
- event.setDate new Date()
- event.setTitle 'aaa'
- HibernateTemplate ht = new HibernateTemplate(sessionFactory);
- ht.save event
- def event2 =new Event()
- event2.setDate new Date()
- event2.setTitle 'bbb'
- ht.save event2
- throw new RuntimeException("事务测试")
- }
- }
其中,
Event可以是java定义的持久类或者groovy定义的domain。
分享到:
- 2007-10-18 13:31
- 浏览 1848
- 评论(0)
- 论坛回复 / 浏览 (0 / 2628)
- 查看更多
相关推荐
本文将深入探讨如何在Grails框架中集成Spring Security,实现高效且灵活的权限管理。 Grails是一个基于Groovy语言的全栈式、敏捷的Web应用框架,它简化了Java开发流程,提供了丰富的插件生态系统。Spring Security...
在现代Java开发领域,Grails和Spring Boot都是非常流行的框架。Grails作为Groovy语言构建的Web开发框架,以其强大的生产力和灵活的特性受到开发者的喜爱,而Spring Boot则凭借其快速启动、自动化配置等优势,成为...
该插件旨在使Spring 4.0中引入的websocket支持可用于Grails应用程序。 您也可以使用相应的Spring docs / apis / samples作为参考。 在本自述文件中多次提到了这一点,因为其中详细解释了所有内容。 Grails版本...
Grails 3Spring安全演示环境设定将您的Grails环境设置为使用Grails3。当前,此演示是使用Grails 3.0.6构建的。 克隆或分叉项目初始步骤这些初始步骤已经针对GitHub上的代码完成。 我只是想说明为使代码达到这个起点...
"grails" - Grails是一个基于Groovy语言的开源Web应用框架,它构建在Spring Boot之上,用于快速开发企业级应用。 "ckeditor" - CKEditor是一款流行的开源富文本编辑器,常用于网页上的内容编辑,提供丰富的文本格式...
3. **插件系统**:Grails 插件是一组可重用的功能模块,可以快速增强应用程序的功能,如Spring Security、Asset Pipeline等。 4. **命令行工具**:Grails 提供强大的命令行工具,支持创建项目、运行应用、生成代码...
用于Grails的Spring Security REST Grails插件使用Spring Security实现基于令牌的无状态RESTful身份验证。 由赞助和支持 说明文件: 。 。使用此插件的公司熊猫熊猫Zana Technologies GmbH 您是否正在使用此插件,并...
在服务层,Grails支持声明式事务,并允许通过依赖注入将服务集成到应用程序中。服务的作用域和生命周期是Grails服务管理的一部分。Grails还支持使用Java服务,这允许Java开发者可以更容易地迁移到Grails。 测试是...
Grails Spring安全核心插件 请参阅以获取更多信息。 分支机构 master与Grails 4.x兼容 3.3.x使用Grails 3.3.x兼容 3.2.x使用Grails 3.2.x中兼容
在本教程中,我们将探讨如何使用GORM(Grails Object-Relational Mapping)构建Spring Boot应用程序。GORM是Grails框架的核心部分,它为开发者提供了简单、强大的数据持久化功能,支持Hibernate和MongoDB等数据库。...
这个版本,1.3.9,是在Grails框架历史中的一个重要里程碑,它集成了Groovy编程语言,Spring框架,Hibernate持久化库,以及其他标准的Java技术,为开发者提供了一站式的解决方案,简化了复杂的应用程序开发过程。...
基于Spring事务抽象概念,实现事务服务层 借助于功能强大的Groovy动态语言和领域特定语言(Domain Specific Language,DSL),以上那些特性变得非常易用。 这篇文档会向你介绍如何使用Grails框架来搭建Web应用程序...
与那些框架不同的是,Grails是构建在现有的像Spring、Hibernate这样的Java技术之上。 Grails是个一栈式开发框架,它尝试通过核心技术和插件技术来解决许多Web开发难题。Grails包含了如下内容: 由 Hibernate ...
例如,`spring-security-core`插件用于安全控制,`grails-spring-websocket`插件实现WebSocket支持等。 6. **命令行工具** Grails的命令行工具提供了丰富的命令,如创建新项目、生成领域类、运行测试等,极大提高...
- **Grails 社区的发展**:随着越来越多的开发者加入到 Grails 的开发中,其社区也在不断壮大。 综上所述,Grails 不仅提供了快速开发 Web 应用程序的有效手段,而且还为开发者构建了一个充满活力的社区环境。无论...
Grails构建在Spring框架之上,利用Spring的强大功能,如依赖注入(DI)、面向切面编程(AOP)以及事务管理。这使得Grails应用具备了企业级的稳定性和可扩展性,同时降低了系统的复杂度。 3. **Hibernate数据持久化...
本文将深入探讨"Grails Spring Security UI"这一主题,旨在帮助开发者理解如何在Grails应用中集成和定制Spring Security的用户界面。 首先,"Grails Spring Security UI"是Grails社区为Spring Security提供的一套...
Grails-Springsecurity-username-email-login 此种子用于在您的应用程序中配置 spring 安全性并启用使用用户名或电子邮件登录 vai Grails spring 安全性插件仅支持通过用户名登录。 如果您需要通过用户名或密码启用...
Grails使用Gradle作为构建工具,提供了`grails war` 命令生成可部署的WAR文件,方便在各种Java应用服务器上部署。 九、测试 Grails内置了测试框架,支持单元测试、集成测试和功能测试。通过`test-app` 命令,可以...
Grails 是一个基于Groovy语言的开源Web应用框架,它构建在Spring Boot之上,提供了丰富的功能和便捷的开发体验。Ajax(Asynchronous JavaScript and XML)技术则是Web开发中用于实现页面无刷新、局部更新的一种重要...