一、為什么會有AOP
在日常的開發(fā)中經(jīng)常會有這樣一種場景,支付相關(guān)的業(yè)務(wù)中經(jīng)常需要記錄日志,而記錄的日志大體相同;這樣就會造成支付組件和日志組件強(qiáng)關(guān)聯(lián),耦合在一起了。而AOP的出現(xiàn)就是為了解決這種問題的。
二、什么是AOP
AOP里面有這樣幾個概念:目標(biāo)對象、切點(diǎn)、切面支持類、切面、通知。AOP為開發(fā)者提供一種橫切關(guān)注點(diǎn)(如日志組件橫切了支付組件)分離并織入的機(jī)制,把橫切關(guān)注點(diǎn)分離,然后通過某種技術(shù)織入到系統(tǒng)中,從而解耦了相關(guān)組件。
三、認(rèn)識AOP
使用AOP功能需要的jar包如下:
1、接口類:
public interface IHelloWorldService { public boolean sayHello(); }
2、接口實(shí)現(xiàn)類:
public class HelloWorldService implements IHelloWorldService { public boolean sayHello() { System.out.println("=======Hello World:"); return true; } }