spring singleton 的问题

本文介绍如何在Spring框架中使用AOP实现事务管理。通过配置ProxyFactoryBean,为AcctBasicinfoServiceImp创建代理,并设置TransactionInterceptor作为拦截器,以确保数据访问操作能够正确地在事务边界内执行。
摘要由CSDN通过智能技术生成
<!-- 将acctBasicinfoDAO注入到service -->
<bean id="acctBasicinfoServiceTarget"
class="com.acct.service.imp.AcctBasicinfoServiceImp"
singleton="[color=red]false[/color]">
<property name="acctBasicinfoDAO">
<ref local="acctBasicinfoDAO" />
</property>
<property name="businessBean">
<ref local="businessBean" />
</property>
</bean>

<bean id="acctBasicinfoService"
class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyTargetClass">
<value>true</value>
</property>
<!--告诉proxy可能多个object-->
[color=red]<property name="singleton">
<value>false</value>
</property>[/color]
<!--这里要用value,不能用ref,以便proxy拿到不同的target-->
<property name="target">
<value>acctBasicinfoServiceTarget</value>
</property>
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
</list>
</property>
</bean>
<bean id="transactionInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager" ref="transactionManager" />
<property name="transactionAttributeSource" ref="matchAllWithPropReq" />
</bean>


<bean id="matchAllWithPropReq"
class="org.springframework.transaction.interceptor.MatchAlwaysTransactionAttributeSource">
<property name="transactionAttribute" value="PROPAGATION_REQUIRED" />
</bean>

<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值