Spring aop:pointcut--expression--多個execution連線方法
阿新 • • 發佈:2019-02-07
宣告式事務,多個execution連線方法:
expression="execution(* pp.business.*.*(..)) or execution(* pp.business.impl.*.*(..))"
spring的幫助手冊裡有關於execution的連線方式的一句話:
Pointcut expressions can be combined using '&&', '||' and '!'.
但是我寫上&&就會報錯。很鬱悶。。。
||和or的作用相同:在符合* pp.business.*.*(..)和* pp.business.impl.*.*(..)方法上都加上事務性。
- <tx:adviceid="txAdvice"transaction-manager="transactionManager">
- <tx:attributes>
- <tx:methodname="add*"propagation="REQUIRED"/>
- <tx:methodname="delete*"propagation="REQUIRED"/>
- <tx:methodname="update*"propagation="REQUIRED"/>
-
<
- <tx:methodname="*"read-only="true"/>
- </tx:attributes>
- </tx:advice>
- <aop:configproxy-target-class="true">
-
<aop:pointcutid="allManagerMethod"expression="execution(* pp.business.*.*(..)) or execution(* pp.business.impl.*.*(..))"
- <aop:advisoradvice-ref="txAdvice"pointcut-ref="allManagerMethod"/>
- </aop:config>