AOP是“Aspect Oriented Programming”的缩写,意思是面向切面编程。面向切面的编程是一种新的编程技术,追求的是调用者和被调用者之间的解耦,它弥补了面向对象编程在跨越模块行为上的不足。AOP引进了Aspect概念,它将多个类的重复代码封装到一个可重用模块中,允许程序员把横切关注点模块化,进而消除面向对象编程所引起的代码混乱和分散问题,增强系统的可维护性和代码的可重用性,如安全、事务、日志等横切关注。当系统开发变得越来越庞大时,就可以使用AOP轻松解决横切关注点和调用者和被调用者之间的解耦问题。
AOP是Spring框架的一个关键技术,它和Spring的IoC技术一样重要,虽然AOP进一步完善了Spring的IoC容器,但Spring的IoC容器并不依赖于AOP,这就意味着如果没有必要可以不使用它。
AOP在Spring中的使用:
1、提供声明式企业服务,可以作为EJB声明式服务的替代品,其中最重要的是声明式事务管理,它建立在Sping事务管理之上。
2、自定义的切面,用AOP进一步完善OOP的使用。