在春季项目中AOP最常见的用途是什么?

Mat*_* B. 12 java aop spring

在审查了AOP模式之后,我对我在春季项目中如何使用它以及如何使用它的方式感到不知所措.

我想将它用作所有财务业务逻辑的审计日志系统.它似乎很容易整合.但我想听听你对此的看法.

问题是 - 对于这种模式,我应该考虑哪些其他用途?我不介意重构我目前使用AOP的逻辑,只要它有好处.

Nil*_*esh 13

最常见的用法是您的应用程序具有交叉问题,即将要在多个类/层中编写的逻辑或代码.

这可能会根据您的需求而有所不同.一些非常常见的例子可能是:

  1. 交易管理
  2. 记录
  3. 异常处理(特别是当您可能希望有详细的跟踪或有一些从异常中恢复的计划时)
  4. 安全方面
  5. 仪表

希望有所帮助.


Axe*_*ine 10

最常见的用法可能是使用声明式事务处理@Transactional.


Coo*_*ans 10

除了Axel提到的日志记录/审计和声明式事务处理之外,我想说AOP的另一种用法是作为请求拦截器.例如,假设您需要截取服务器的所有请求,以便您可以使用它执行某些操作(可能是为了跟踪哪个应用程序正在向其他应用程序或什么数据库发送什么请求等).