Spring-Aop-注解配置方式
关于AspectJ
AspectJ是一个面向切面的框架,它扩展的java语言,定义了aop语法,能够在编译时实现代码织入
@AspectJ 必须建立在jdk5.0及以上版本中使用
必须将asm模块引入到项目的lib目录下面才能使用!!
一个案例来说明注解配置
1.导入相关jar包和约束
2.编写一个类的方法
package com.sxh.pojo;
import org.springframework.stereotype.Component;
@Component
public class User {
public void run() {
System.out.println("跑步!");
}
}
3.编写增强方法
4.编写主配置文件
5.写个测试类跑一下
增强方法的第二种写法
两种写法的效果相同!!
总结一下吧
注解配置aop:
- 导包和约束
@Aspect
配置切面类包含增强方法等- 可使用给Point()空函数
配置@Pointcut("execution(* com.sxh.pojo.User.run(..))")
然后@Before("Point()")
配置增强方法
或直接@Before("execution(* com.sxh.pojo.User.run(..))")
- 增强方法常用
@Before @After @AfterReturning @Around
- 在主配置文件中引入两个bean增强类和被增强类
也可以使用@Component
注解 - 扫描(自动代理)
<context:component-scan base-package="com.sxh.*">
配置aop注解驱动
<aop:aspectj-autoproxy/>