SpringAOP注解实现
切面类
@Aspect//标记这是一个切面
public class AnnotationPointCut {
@Before("execution(* com.shao.service.ServiceImpl.*(..))")//切入点
public void before(){
System.out.println("====方法执行之前");
}
@After("execution(* com.shao.service.ServiceImpl.*(..))")//切入点
public void after(){
System.out.println("====方法执行之后");
}
}
在Spring配置文件中加入注解驱动,注册bean
<bean id="AnnotationPonitCut" class="com.shao.log.AnnotationPointCut"/>
<aop:aspectj-autoproxy/>
总结:
- 横切关注点: 跨域多个模块的方法或者功能,比如我们的日志,安全,缓存,权限,事务等,这些都不属于我们的业务逻辑,但是我们开发时必须要关注的点;
- 切面: 横切关注点被模块化,它是一个类;
- 通知: 切面中的方法,它是切面的类中的方法;
- 目标: 被通知的对象,就是我们业务逻辑层面的类.