论坛首页 入门技术论坛

SPRING中关于事务代理的疑问

浏览 1778 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-01-07  
问题描述:
  我的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' 异常提示


请朋友们给点意见或建议.苦恼我一天了.
   发表时间:2008-01-08  
不能让它给沉了,自己顶一下.
0 请登录后投票
   发表时间:2008-01-08  
你这是用Spring 1.x风格的事务声明,Spring 2.x引入了新的声明方法,你查一下,看看有没有帮助
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics