首先我们创建一个例子
创建要织入的类
@Service
public class UserService {
public void login() {
System.out.println("登陆");
}
}
创建切面
这里需要加上@Component注解,以便被spring扫描到
@Aspect表示这个是一个切面
@Aspect
@Component
public class UserServiceAop {
@Pointcut("execution(* techermanager.Service.*.*(..))")
private void log(){
}
@Before("techermanager.controller.aspect.UserServiceAop.log()")
private void beforeLog(){
System.out.println("before");
}
}
在spring的xml配置文件里面加上配置
<!-- 启用aspect注解 true表示支持基于类生成 这样需要用到cglib false表示基于接口生成 -->
<aop:aspectj-autoproxy proxy-target-class="true"/>
注意这里
proxy-target-class="true"
,true表示支持基于类生成 这样需要用到cglib false表示基于接口生成 ,我们这里是为一个类生成代理切面 ,所以用true 。
运行