步驟:
- 導(dǎo)入jar包 (后期可忽略)
- 先引入Spring框架開(kāi)發(fā)的基本開(kāi)發(fā)包
- 再引入Spring框架的AOP的開(kāi)發(fā)包
* spring的傳統(tǒng)AOP的開(kāi)發(fā)的包
* spring-aop-4.2.4.RELEASE.jar
* com.springsource.org.aopalliance-1.0.0.jar
* aspectJ的開(kāi)發(fā)包
* com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar
* spring-aspects-4.2.4.RELEASE.jar
- 添加配置約束环揽、自動(dòng)代理(后期可忽略)
創(chuàng)建Spring的配置文件,引入具體的AOP的schema約束.
注意 自動(dòng)代理
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
<!-- 開(kāi)啟自動(dòng)代理-->
<aop:aspectj-autoproxy/>
</beans>
- 在切面類(lèi)上添加注解@Component、@Aspect
@Component(value="aspectAnno")
@Aspect //標(biāo)明切面類(lèi)的身份
public class AspectAnno {
//定義通知類(lèi)型 Before 和通知方法
@Before(value="AspectAnno.fn()")
public void log(){
System.out.println("記錄日志...");
}
//定義切入點(diǎn)谴古,即需要對(duì)哪個(gè)方法加強(qiáng)
@Pointcut(value="execution(public void com.itheima.demo1.CustomerDaoImpl.save())")
public void fn(){}
}