栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring5———AOP

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring5———AOP

  1、AOP的概念

        AOP:面向切面的编程,在不改变原来代码的基础之上,对原有的功能进行增强。 底层的设计模式:就是代理设计模式。

2、使用Spring 实现AOP(ASPECTJ)

    方式一:注解

(1)在resource里面,创建spring的xml文件,主要是完成二件事。

       (1)对类开启注解扫描

    (2)开启aspectj的自动代理



    
    
    
    

   创建业务类,通过注解创建对象,需要用@Component

package com.fan.aop;

import org.springframework.stereotype.Component;
@Component
public class User {
    public void add(){
        System.out.println("add...");
    }
}

创建增强类,通过注解创建类,在类上面加入@Aspect,并在增强的方法上加上(

@Before:前置通知
@After:最终通知,遇到异常也会执行
@AfterReturning:后置通知,遇到异常不会执行
@AfterThrowing:异常通知
@Around:环绕通知,是再被增强的业务代码的前后
)

如果遇到多个类,对一个业务代码进行增强的时候,需要给不同的增强类进行优先级配置,即就是引入@Order,括号里面写数字,数字越小优先级越高。

package com.fan.aop;
import org.aspectj.lang.annotation.*;
import org.springframework.stereotype.Component;

@Component
@Aspect
public class UserProxy {
    //前置通知
    @Before(value = "execution(* com.fan.aop.User.add(..))")
    public void before(){
        System.out.println("Before...");
    }
}

方式二:xml配置,类的代码跟上面一样,唯一的区别是将注解去掉了。



   
    
    
    
    
        
        
        
        
            
            
        
    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/602293.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号