程序员社区

注解实现AOP

public interface UserService {
    public void add();
    public void delete();
    public void update();
    public void select();
}
public class UserServiceImpl implements UserService{
    public void add() {
        System.out.println("增加了一个用户");
    }
    public void delete() {
        System.out.println("删除一个用户");
    }
    public void update() {
        System.out.println("更新一个用户");
    }
    public void select() {
        System.out.println("查询一个用户");
    }
}
//标注这个类是一个切面
@Aspect
public class AnnotationPointCut {
    @Before("execution(* com.kuang.service.UserServiceImpl.*(..))")
    public void before(){
        System.out.println("方法执行前......");
    }
    @After("execution(* com.kuang.service.UserServiceImpl.*(..))")
    public void after(){
        System.out.println("方法执行后......");
    }

    @Around("execution(* com.kuang.service.UserServiceImpl.*(..))")
    public void around(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
        System.out.println("环绕前....");
        //执行方法
        proceedingJoinPoint.proceed();
        System.out.println("环绕后....");
    }
}
<bean id="annotationPointCut" class="com.kuang.diy.AnnotationPointCut"/>
<bean id="userService" class="com.kuang.service.UserServiceImpl"/>
<!--开启注解支持-->
<aop:aspectj-autoproxy/>
public class MyTest {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("beans2.xml");

        //动态代理代理的是接口
        UserService userService = context.getBean("userService", UserService.class);
        userService.add();
    }
}

在这里插入图片描述

赞(0) 打赏
未经允许不得转载:IDEA激活码 » 注解实现AOP

相关推荐

  • 暂无文章

一个分享Java & Python知识的社区