在我的應用程序中,我最初使用ProxyFactoryBean將事務應用於我的DAO Bean,如下所示;Spring的@Transactional在ProxyFactoryBean上的性能
<bean id="buyProductDAO" class="com.trading.persistence.impl.jdbc.BuyProductDAOImpl" scope="prototype">
<property name="jdbcTemplate">
<ref bean="jdbcTemplate"/>
</property>
</bean>
<bean id="buyProductDAOProxy" class="org.springframework.aop.framework.ProxyFactoryBean" scope="singleton">
<property name="proxyInterfaces">
<value>com.trading.persistence.impl.jdbc.BuyProductDAO</value>
</property>
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
<value>buyProductDAO</value>
</list>
</property>
</bean>
在這種情況下,如果我從我的代碼中發現代理bean,它會返回我的事務性bean。此外,目前,在課堂上應用交易。
我想重構我的代碼使用@Transactionl。轉換後的性能影響是什麼?我打算在方法級應用交易,與目前實施的類級相反。
感謝您的回覆。這種變化如何影響績效? – nwGCham
正如Spring Doc所說,現有的Spring工具正在以您的名義初始化TransactionProxyFactoryBeans。所以在這個領域,如果不是平等的話,它是微不足道的。性能方面的考慮主要來自於以下方面:1)基礎持久性選擇的非最佳使用(spring-jdbc/orm/hibernate),2)DB連接池的不使用,3)低效的批處理操作等 – dimitrisli