A convenient alternative way of setting up declarative transactions is TransactionProxyFactoryBean, particularly if there are no other AOP interceptors
You can add other interceptors easily enough with postInterceptors and preInterceptors properties
Code:
<bean id="txTemplate" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager"><ref local="transactionManager"/></property>
<property name="proxyTargetClass"><value>true</value></property>
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="login*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
<property name="preInterceptors">
<list>
<ref local="securityInterceptor"/>
</list>
</property>
<property name="postInterceptors">
<list>
<ref local="logInterceptor"/>
</list>
</property>
</bean>
Does the last part mean that I should not use this method if we plan to add other pointcuts to that service?
Do you mean other pointcuts or other interceptors?