SpringAOP 是一种编程范式,主要目的是将非功能性需求从功能性需求中分离出来,达到解耦的目的。主要应用场景有:Authentication(权限认证)、Auto Caching(自动缓存处理)、Error Handling(统一错误处理)、Debugging(调试信息输出)、Logging(日志记录)、Transactions(事务处理)。现实生活中也常常使用AOP思维来解决实际问题,如飞机组装、汽车组装等(如下图)。
飞机各部件的零件会交给不同的厂家去生产,最终由组装工厂将各个部件组装起来变成一个整体。将零件的生产交出去主要目的是解耦,但是解耦之前必须有统一的标准。