第一种配置方法:Spring3.0基于XML的声明式事务管理
这种方法不需要对原有的业务做任何修改,通过在XML文件中定义需要拦截方法的匹配即可完成配置,要求是,业务处理中的方法的命名要有规律,比如setXxx,xxxUpdate等等。详细配置如下:
<!-- from the file 'context.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-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<!-- this is the service object that we want to make transactional -->
<bean id="fooService" class="x.y.service.DefaultFooService"/>
<!-- don't forget the DataSource -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@rj-t42:1521:elvis"/>
<property name="username" value="scott"/>
<property name="password" value="tiger"/>
</bean>
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="find*" propagation="REQUIRED" read-only="true"/>
<tx:method name="save*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="*" propagation="SUPPORTS" read-only="true" />
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="fooServiceOperation" expression="execution(* x.y.service.FooService.*(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="fooServiceOperation"/>
</aop:config>
</beans>
第二中配置方法:基于@Transactional的事务管理
这种方法,只需要在Spring配置文件中定义一个事务管理对象(如DataSourceTransactionManager),然后加入节点,引用该事务管理对象,然后即可在需要进行事务处理的类和方法使用@Transactional进行标注。示例如下:
<tx:annotation-driven transaction-manager="transactionManager"/>
@Override
@Transactional(readOnly=true,propagation=Propagation.NEVER)
public List getAllTeachers() {
return getDao().getAllTeachers();
}
分享到:
相关推荐
### Spring 事务配置的五种方法详解 #### 一、引言 在现代软件开发过程中,事务处理是一项至关重要的技术,特别是在涉及数据库操作时。Spring 框架提供了丰富的事务管理功能,支持多种不同的配置方式来满足不同...
《天地图电子地图符号与注记》是2014年由国家基础地理信息中心发布的文档,主要涵盖了电子地图设计的基本原则、注记显示的分级规则以及地图符号与注记的详细分类。这份文档对于理解地图制作的标准和规范,以及如何在...
"ArcEngine注记处理专题"主要关注如何在ArcEngine中管理和操作注记,以增强地图的可读性和信息传递效果。下面将详细阐述这个专题中的核心知识点。 1. **说明** 注记在地图中起到解释、标注和补充信息的作用,它们...
ArcGIS注记要素-shp字段值转出CAD注记方法 ArcGIS 是一款功能强大的地理信息系统软件,能够帮助用户对地理空间数据进行处理、分析和展示。其中,一个重要的应用场景是将 ArcGIS 中的注记要素转换为 CAD 注记,以便...
通过对背景要素的考虑,本研究为未来地图制图自动化提供了新的思路,尤其是在处理大规模、复杂地图数据时,这种改进的信息模型可以显著提升注记配置的质量和效率。未来的工作可能涉及进一步优化模型,使其适应更多...
模拟退火算法为解决地图注记自动配置问题提供了一个新的视角,尤其是在处理大规模组合优化问题时展现出强大潜力。通过合理设计算法参数和迭代过程,能够在保证注记配置质量的同时,提高自动化水平,减少人为干预的...
4. Edit工具与注记相关的快捷键: - E: 在Sketch工具、Edit工具和Edit Annotation工具之间切换 - Shift: 添加或取消选择注记 - Ctrl: 移动选择的锚点 - N: 选择下一个要素 - R: 切换旋转模式 - F: 切换到要素...
本文提出了一种基于栅格思想的动态注记算法,该算法能够有效地处理点、线、面三种地图要素的注记配置问题。通过将屏幕划分为多个网格并逐一检查注记之间的冲突,该算法能够在保证注记美观性和合理性的前提下,实现...
《粒子群遗传混合算法在点状注记配置中的应用》这篇文章探讨了如何运用一种结合粒子群优化算法(PSO)和遗传算法(GA)的混合算法来解决地图上的点状注记配置问题。点状注记是地图上表示地理特征的文字和数字,如...
天地图电子地图符号与注记样式是国家基础地理信息中心针对天地图电子地图制定的一系列符号和注记的标准规范。该规范详细规定了电子地图上的符号和注记的展现方式,以确保信息传递的准确性和地图的美观性。具体知识点...
在ArcGIS中,快捷键是提高工作...掌握这些快捷键不仅能够简化操作流程,还能使你在处理大量地理信息时更加得心应手。通过不断实践和记忆,你会发现这些快捷键成为了你操作ArcGIS的得力助手,大大提升了你的工作效率。
这个文档提供的是一种将ArcGIS中的注记要素(Annotation)基于shp字段值转换为CAD注记的方法。以下是详细的步骤: 1. **创建个人地理数据库**: 首先,你需要创建一个个人地理数据库(Personal Geodatabase),这...
- Tab:在跟踪要素模式下改变注记放置的位置(左右边切换) - P:在跟踪要素模式下改变注记放置的角度(平行或垂直) 5. **Sketch工具**: - Ctrl+A:设定方位 - Ctrl+F:设定偏转 - Ctrl+L:设定长度 - Ctrl...
这个API允许开发者利用Esri的地图服务、地理编码服务、地理处理服务以及空间分析功能来创建交互式地图应用。以下是关于ArcGIS JS API 3.0的一些关键知识点: 1. **基础概念**: - **Map对象**:是API的核心,表示...
CAD或者Cass里面的道路注记已经标注,但是没有按照光影线法则平行于道路边线,这样就需要手动一个个的去进行旋转,此程序可以实现道路注记自动平行于道路边线。
与要素关联的注记是直接与要素关联的特殊类型的地理数据库注记。关联要素的注记反映地理数据库中的要素的当前状态:移动、编辑或删除要素后,关联要素的注记将自动更新。相比标准注记,使用关联要素的注记的好处是:...
默认的 DispatcherServlet 配置涉及了 Spring 配置文件的设置,说明了如何配置一个默认的 Spring MVC 应用上下文,让框架能够正常运作。DispatcherServlet 的处理流程则解释了请求在 Spring MVC 中的处理过程,包括...
- **注记设置**:配置标签文本样式。 - **风格设置**:调整符号化方案。 **5.3 ShapeFile管理** - **新建地图图层**:创建新的矢量图层。 - **加载矢量文件**:读取并显示.shp格式的矢量数据。 - **属性表操作**:...