`
java_code
  • 浏览: 8617 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

SPRING中关于事务代理的疑问

阅读更多
问题描述:
  我的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' 异常提示


请朋友们给点意见或建议.苦恼我一天了.
分享到:
评论
2 楼 movingboy 2008-01-08  
你这是用Spring 1.x风格的事务声明,Spring 2.x引入了新的声明方法,你查一下,看看有没有帮助
1 楼 java_code 2008-01-08  
不能让它给沉了,自己顶一下.

相关推荐

    spring入门笔记

    **Spring 框架概述** Spring 是一个开源的 Java 应用框架,它以其轻量级、模块化和面向切...希望这篇入门笔记能为你开启 Spring 的探索之旅,欢迎在学习过程中发现错误或有任何疑问时,通过博主的博客进行交流和指正。

    cxf与Spring的整合实例(适合初学者)

    7. **最佳实践**:如何有效地组织项目结构,避免服务暴露过多,以及如何利用Spring的事务管理来处理服务调用中的错误。 8. **实例分析**:详细解释`SpringCXFService`和`SpringCXFClient`的代码逻辑,如何在Spring...

    Spring3+Struts2+Hibernate框架的demo

    在本示例中,Spring可能用于配置bean,处理事务,并与其他两个框架进行集成。 【Struts2框架】 Struts2是经典的MVC(模型-视图-控制器)框架,用于构建Web应用程序。它提供了丰富的UI组件,动作和结果映射,以及...

    spring完全学习实例(一)

    主要包括Spring的IoC、AOP(注释注入、Schema注入、与AspectJ的集成、有接口和无接口的实现的界面编程)、中间数据访问层(编程事事务管理、声明式事务管理、与Hibernate的集成、与JDO的集成、与JTA的集成、纯Spring...

    Java面试题总结,最全的面试题

    注意:不懂的可加V免费帮助解答疑问:V:GeorgeLQGJava面试题:包含了锁,高并发,基础等高频面试题Hash相同equals的值是否相同Spring的事务隔离级别有哪些,默认是什么Sping的代理有哪些Mysql默认的事务级别Java...

    基于SpringBoot的中山社区医疗综合服务平台源码数据库.doc

    - **简介**:MySQL是一种关系型数据库管理系统,因其体积小、速度快、成本低等特点,在中小型企业中得到了广泛应用。 - **优势**: - 高性能:优化的SQL执行引擎使其具有较高的查询速度; - 易用性:支持多种操作...

    求职宝典 - 面试大全

    4. **Spring框架**:IoC容器、AOP代理、事务管理、Spring Boot、Spring Cloud等相关概念。 5. **数据库**:SQL查询优化、事务隔离级别、索引原理、存储引擎的区别。 其次,C/C++面试的重点可能包含: 1. **内存...

    网上学习答疑系统.zip

    《网上学习答疑系统》是一个基于Java技术开发的项目,旨在为用户提供在线学习过程中的疑问解答服务。这个系统不仅适用于毕业设计或课程设计,还可以实际运行并提供帮助。开发者分享了源代码,旨在促进学习和交流,...

    rabbitMQ.zip

    RabbitMQ是一种广泛使用的开源消息代理和队列服务器,它基于AMQP(Advanced Message Queuing Protocol)协议,适用于多种编程语言,包括Java、Python、Ruby、PHP、.NET等。本教程将深入介绍如何在不同的操作系统上...

    影院网上售票系统的设计与实现开题报告(同名13484).docx

    - **后端框架**:Spring Boot,作为Java领域内流行的应用程序框架之一,能够简化开发流程,提高效率。 - **数据库**:MySQL,拥有成熟的数据管理和事务处理能力,适用于本系统的数据存储需求。 - **服务器**:Nginx+...

Global site tag (gtag.js) - Google Analytics