说明testservice不是baseTransactionProxy的子类
解决方案 »
- ssh spring 依赖注入时 提示错误 请大家帮看一下
- 利用jdbc连接sqlserver2008的一些问题
- java xml
- Log4j 同一Application两份Log的问题
- 跪求关于axis相关的问题---高分悬赏!!!
- hibernate的 一对多 问题
- 关于hibernate+spring分页查询的问题!查询几次后就会出现数据库连接不上的问题!
- 用SQL Profiler或IronTrackSQL监控DB操作为什么不能看到任何结果呢?
- Java中多线程的使用
- 请问怎么用JB7给放在客户端的home,remote接口打包?
- 向各位大哥求救 EJB客户端运行时:Unable to resolve 'myBook' Resolved
- Spring+hibernate中加上AOP的事物管理怎么始终出现这样的问题?????
动态AOP机制实现,为了实现动态AOP,Spring在默认情况下会使用Java Dynamic
Proxy,但是,Dynamic Proxy要求其代理的对象必须实现一个接口,该接口定义了准备
进行代理的方法。而对于没有实现任何接口的Java Class,需要采用其他方式,Spring通
过CGLib10实现这一功能。
当UserDAO没有实现任何接口时(如JdbcTemplate示例中)。Spring通过CGLib对
UserDAO进行代理,此时getBean返回的是一个继承自UserDAO类的子类实例,可以通
过UserDAO对其强制转型。而当UserDAO实现了IUserDAO接口之后,Spring将通过Java
Dynamic Proxy机制实现代理功能,此时返回的Bean,是通过
java.lang.reflect.Proxy.newProxyInstance方法创建的IUserDAO接口的一个代理实
现,这个实例实现了IUserDAO接口,但与UserDAO类已经没有继承关系,因此无法通过
UserDAO强制转型。
<bean id="companyDAO" class="cn.com.surekam.dao.CompanyDAO" singleton="true">
<property name="sessionFactory">
<ref local="mySessionFactory" />
</property>
<property name="strsql">
<value>from Company c where c.companyid=:id</value>
</property>
<property name="getCommpanyListsqlc">
<value>select count(*) from Company c where c.pccode=:pccode</value>
</property>
<property name="getCommpanyListsql">
<value>from Company c where c.pccode=:pccode</value>
</property>
</bean>
<bean id="companyDAOProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref local="myTransactionManager" />
</property>
<property name="target">
<ref local="companyDAO" />
</property>
<property name="transactionAttributes">
<props>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<property name="target">
<bean class="org.spring.service.testservice">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
</property>
</bean>
怎么不行???
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="tdao" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref local="transactionManager" />
</property>
<property name="target">
<ref local="ttDAO" />
</property>
<property name="transactionAttributes">
<props>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>一样出现:
StandardWrapperValve[action]: Servlet.service() for servlet action threw exception
java.lang.ClassCastException
java.lang.ClassCastException
at org.struts.action.base.setServlet(base.java:15) 到底是什么原因呢???