java - Spring - 如何解决服务的 'multiple' AOP 行为?

标签 java spring proxy aop java-ee-6

我想知道我们是否可以应用“多个”AOP行为对我们的服务类别有影响吗?

这么说吧,我对我的 BankServiceImpl 做了这个类:

  • @Transactional在其中一种方法之上,accountTransfer() , 和
  • 和一些自定义 <aop>执行另一个方法的切入点 someOtherMethod() .

然后 Spring 将能够生成一个 代理,其中 accountTransfer()交易和someOtherMethod()还给出了aop行为?

有没有人知道 Spring 如何解析多个 AOP行为?

最佳答案

看起来 Spring 创建了一个包含所有通知类型的代理对象。此代理对象将实现 org.springframework.aop.framework.Advised,无论它是 JDK 动态代理还是 CGLIB 代理。

如果您有多个顾问程序,则它们的执行顺序是不确定的,除非您通过实现 Ordered 接口(interface)或 @Ordered 注释使其明确。您可以在订购时找到更多信息 here . Springs 事务方面默认为最低优先级。

关于java - Spring - 如何解决服务的 'multiple' AOP 行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1655083/

相关文章:

java - 在 @Aspect 中使用 Spring @Profile

java - 多个url映射到同一个controller方法时,查找哪个url访问controller

.net - 如何避免由于 2x 反向代理网络中未关闭套接字而导致端口耗尽?

java - myhashmap 扩展 hashmap 并覆盖哈希函数

java - Java 中扩大类型转换

java - 在java中重用哈希表中的键

java - 错误: cannot find symbol variable toolbar

java - Hibernate 从控制台记录异常

Python socket.accept() 没有收到任何连接请求

scala - 动态代理,无需在 scala 中显式指定类型