SPRING中关于事务代理的疑问

本文探讨了在使用Spring AOP进行事务管理时,如何既能保持事务特性又能获取到真实的Bean实例而非代理对象的问题。提供了具体的配置示例并描述了尝试解决此问题时遇到的挑战。
问题描述:
我的BEAN是通过了事务代理,代理方式为SPRING AOP形式的代理.
当SPRING容器 注入我需要的对象时,只能以接口的形式注入.而我的需求是要获取这个对象的真实实现类这个对象.如果去除代理的配置,则可以获取我需要的真实的实现类对象,但是脱离了事务,也不是我需要的.

具体配置和代码:


<bean id="txProxyTemplate" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager"/>
</property>
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="mod*">PROPAGATION_REQUIRED</prop>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="create*">PROPAGATION_REQUIRED</prop>
<prop key="del*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="logicSave*">PROPAGATION_REQUIRED</prop>
<prop key="logicCreate*">PROPAGATION_REQUIRED</prop>
<prop key="logicDel*">PROPAGATION_REQUIRED</prop>
<prop key="logicUpdate*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>

<!-- 新版本 标准和规范基础数据处理 -->
<bean id="standardLibDAO" class="com.gdcn.dpm.ywgl.dao.impl.StandardLibDAOImpl" parent="baseDAO" />
<bean id="service_StandardLib" parent="txProxyTemplate">
<property name="target">
<bean class="com.gdcn.dpm.ywgl.service.impl.StandardLibServiceImpl">
<property name="standardLibDAO" ref="standardLibDAO" />
<property name="dao_CustomBaseHibernate" ref="standardLibDAO" />
</bean>

</bean>

注入的SET代码:
IStandardLibService service_StandardLib;
public void setService_StandardLib(IStandardLibService service_StandardLib) {
this.service_StandardLib = service_StandardLib;

}
//上面的代码能成功注入

StandardLibServiceImpl service_StandardLib;
public void setService_StandardLib(StandardLibServiceImpl service_StandardLib) {
this.service_StandardLib = service_StandardLib;

}
//上面的代码注入失败,报Failed to convert property value of type [$Proxy29] to required type [com.gdcn.dpm.ywgl.service.impl.StandardLibServiceImpl] for property 'service_StandardLib' 异常提示


请朋友们给点意见或建议.苦恼我一天了.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值