Java:spring框架(3)AOP面向切面

一.创建XML配置文件,以及导入引用


 
    
/*
* 1. 配置book对象, 设置id为book
*/
    
    

    
        
        /*
        *  1. id属性: 标记切入点
        *  2.expression属性: "execution(* com.company.Book.*(..))" 定位到类的方法 ,"*" 表示全部
        */
        

        
        /*
        *  1. ref属性: 设置即将切入的配置对象的id
        */
        
            
            /*
             *  1.method属性: 设置你想切入MyBook类中的方法
             *  2.pointcut-ref属性:  切入点的id
             */
            

            
            

            
            

        

    

二. 创建Book类

public class Book {
    public void add(){
        System.out.println("add.....");
    }
}

三.创建Mybook类

public class Mybook {
    //前置增强
    public void before1(){
        System.out.println("前置增强.....");
    }
    //后置增强
    public void after1(){
        System.out.println("后置增强.....");
    }
    //环绕增强
    public void round1(ProceedingJoinPoint proceedingJoinPoint)throws Throwable{
        //增强方法之前
        System.out.println("环绕增强之前.....");
        /*
         *  1. 调用这个方法才有效
         */
        proceedingJoinPoint.proceed();
        //增强方法之后
        System.out.println("环绕增强之后.....");
    }
}

四.创建测试类

/*
 *  1. 创建ApplicationContext对象,加载Bean1文件
 *  2.通过配置对象的id获取到Book对象
 */
ApplicationContext context = new ClassPathXmlApplicationContext("Bean1");
Book book = (Book) context.getBean("book");
book.add();  //调用Book类的add()方法

//打印结果
前置增强.....
环绕增强之前.....
add.....
环绕增强之后.....
后置增强.....

你可能感兴趣的:(Java:spring框架(3)AOP面向切面)