Spring的AOP介绍
AOP:(Aspect-Orlented-Programming)面向切面编程,和面向对象是互相补充的。面向对象是横着编程,面向切面则是竖着编程。
1 2 3 4 | @Before ( "execution(public void com.fz.annotation.service.impl.UserServiceImpl.userAdd(com.fz.xml.entity.User))" ) public void before(){ System.out.println( "method start...." ); } |
先了解AOP的相关术语:
1.通知(Advice):
advice建议的意思,也就是建议这个切面怎么做。可以理解为代码中的before方法
2.连接点(Joinpoint):
红色部分的切点也就是连接点,也就是代码中userAdd方法之前的那个点。
3.切入点(Pointcut)
切入点其实也就是连接点(Joinpoint)的集合,也就是上图中所有的红色的集合
4.切面(Aspect)
userDao加入了Aspect也就是切面类
6.目标(Target)
被代理对象,也就是userDao
7.织入(Weave)