使用基于 Spring AOP 的声明性事务管理将所有方法定义为事务性是否有任何性能损失?请参阅下面的配置。原因是我不知道开发人员会给非事务性方法取什么方法名。一种选择是我从通配符列表开始,如果方法名称不属于定义的列表,开发人员会更新列表。
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*" />
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="dtxops" expression="bean(*Service)" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="dtxops" />
</aop:config>