需要 Spring 3 中的事务处理示例

发布于 2024-11-04 14:52:05 字数 83 浏览 2 评论 0原文

我需要分步指南来处理 spring sqltemplate 中的事务。事务处理必须在我的项目中实现。指导我。需要配合SqlTemplate使用事务管理。

I need step by step guide to handle transactions in spring sqltemplate. Transaction handling has to be implemented in my project. Guide me. Need to use the transaction Managment with SqlTemplate.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

私野 2024-11-11 14:52:05

我建议您使用 @Transaction 注释而不是手动编码。您可以按照此处的示例进行操作。对于其最佳实践,您可以阅读此处。如果您打算花几个小时学习 Spring Data JPA,大多数情况下你几乎不需要手动处理事务。

谢谢。

I suggest you use @Transaction annotation than code it manually. You may follow example here. For its best practice, you may read here. If you plan to spend few hours to study Spring Data JPA, you almost no need to handle transaction manually for most cases.

Thanks.

哑剧 2024-11-11 14:52:05

如果您正在使用程序化事务,那么使用下面的

<bean id="transactionManager"   class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
    <ref local="dataSource"/>
</property>
</bean>

程序化意味着您拥有围绕业务代码的事务管理代码。
这提供了极大的灵活性,但难以维护。
声明性意味着将事务管理与业务代码分开。
您可以使用注释或基于 XML 的配置。

声明式事务管理允许消除 Java 代码对事务框架的任何依赖。
提供事务支持的四个参与者是事务管理器、代理工厂、事务拦截器和一组事务属性。下面是一个例子

<bean id="boxOffice" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager"><ref bean="transactionManager"/></property>
<property name="target">
    <ref bean="boxOfficeService"/>
</property>
<property name="transactionAttributes">
    <props>
        <prop key="get*">PROPAGATION_SUPPORTS,readOnly</prop>
        <prop key="allocate*">PROPAGATION_REQUIRED</prop>
    </props>
</property>
</bean>

if you are using Programmatic Transactions then use below

<bean id="transactionManager"   class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
    <ref local="dataSource"/>
</property>
</bean>

Programmatic means you have transaction management code surrounding your business code.
This gives extreme flexibility, but is difficult to maintain.
Declarative means you separate transaction management from the business code.
You can use annotations or XML based configuration.

Declarative Transaction Management allows to eliminate any dependencies on the transaction framework from the Java code.
The four participants to provide the transaction support are transaction manager, proxy factory, transaction interceptor, and a set of transaction attributes. below is an example

<bean id="boxOffice" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager"><ref bean="transactionManager"/></property>
<property name="target">
    <ref bean="boxOfficeService"/>
</property>
<property name="transactionAttributes">
    <props>
        <prop key="get*">PROPAGATION_SUPPORTS,readOnly</prop>
        <prop key="allocate*">PROPAGATION_REQUIRED</prop>
    </props>
</property>
</bean>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文