首页 > 其他分享 >Spring-Boot AOP 的简单创建

Spring-Boot AOP 的简单创建

时间:2024-03-08 19:35:44浏览次数:16  
标签:.. Spring Boot Pointcut 切面 pointCut1 AOP public

AOP 切面

1.导依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
  1. 定义一个切面类
@Aspect
@Component
public class AopAspect {

    /**
     *  @Pointcut:定义一个切面,所关注的某件事入口
     *  execution():表达式主体
     *  第一个 *:表示返回值类型, *表示所有类型
     *  com.sapphire.common.service:包名
     *  ..:表示当前包和当前包子包
     *  第二个*:表示类名,*表示所有类
     *  *(..):*表示方法名,括弧里边表示参数,..表示任何参数
     */
    @Pointcut("execution(* com.sapphire.common.service..*.*(..))")
    public void pointCut1(){
    
//        业务逻辑

    }

    /**
     *  针对注解定义切面
     */
    @Pointcut("@annotation(org.springframework.web.bind.annotation.GetMapping)")
    public void pointCut1() {
//        业务逻辑
    }
    
}
  1. 一些重要的注解(括号里填的是pointCut方法名)
@Before("pointCut1()") //在目的方法前执行pointCut1方法
@After("pointCut1()")
//在目的方法 返回结果后 做出操作,一般用于对结果进行增强处理,注意返回结果参数类型一定要一样,不然不能识别出来
@AfterRuning(pointcut = "pointCut1()",returning = "resultType")
//目的方法出现异常时执行切面方法
@AfterThrowing(pointcut = "pointCut()", throwing = "ex")
  1. 一般AOP 会应用与拦截 或者自定义注解方面

标签:..,Spring,Boot,Pointcut,切面,pointCut1,AOP,public
From: https://www.cnblogs.com/LIang2003/p/18061689

相关文章

  • spring-event-事件监听机制实现
    1.事件监听机制概述1.场景模型版本更新了,新版本需要继承老版本的构件分享、自定义属性、着色数据,以后还可能有其他数据要继承,这些数据之间没有直接联系,就是当模型版本变更的时候,他们各自需要执行。2.涉及的三个对象事件源(提供事件处理时的元数据)这里就是模型版本更新了......
  • macOS Ventura 13.6.5 (22G621) Boot ISO 原版可引导镜像下载
    macOSVentura13.6.5(22G621)BootISO原版可引导镜像下载3月8日凌晨,macOSSonoma14.4发布,同时带来了macOSVentru13.6.5和macOSMonterey12.7.4安全更新。macOSVentura13.6及更新版本,如无特殊说明皆为安全更新,不再赘述。本站下载的macOS软件包,既可以拖拽到......
  • macOS Monterey 12.7.4 (21H1123) Boot ISO 原版可引导镜像下载
    macOSMonterey12.7.4(21H1123)BootISO原版可引导镜像下载3月8日凌晨,macOSSonoma14.4发布,同时带来了macOSVentru13.6.5和macOSMonterey12.7.4安全更新。本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚......
  • Spring知识回顾
    首先对于我们来说Spring是什么,Spring可以让我们对刚开始写项目时,有一个明确的框架结构,用比较专业的话来讲,就是使用IOC和AOP,即Inversionofcontrol控制反转和AspectOrientedProgramming面向切面编程,总结:Spring就是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架。学习IOC的组......
  • springboot项目接入普罗米修斯
    为了更好查询项目的运行状态,这次引入普罗米修斯监控pom依赖<!--starter-actuator--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency><!--下面是/actuato......
  • springboot 2.4.0 启动源码分析
    SpringBoot启动的基本配置SpringBoot启动的配置主要有以下两个部分添加依赖最基本的springboot依赖只需要添加一个springboot启动器的依赖即可,如果是web服务则添加web的启动器<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"......
  • springboot整合nacos注册中心和配置中心
    我的命名空间是centos效果图   可以是yml格式,名称不要变springboot版本2.1.6pom依赖<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchem......
  • Spring boot常用命令总结
    1.打包jar包mvnpackageclean-Dmaven.test.skip=truemvnpackage-Dmaven.test.skip=true2.结束当前运行的程序ps-aux|grepjavakill-9$(ps-ef|grep/usr/bin/chromedriver|grep-vgrep|awk'{print$2}')kill-9$(ps-ef|grep/opt/google/chrome/chrome|grep......
  • SpringMVC实现文件上传&下载(2)
    文件上传步骤第一步:由于SpringMVC使用的是commons-fileupload实现,故将其组件引入项目中,这里用到的是commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar。第二步:spring-mvx中配置MultipartResolver处理器。可在此加入对上传文件的属性限制。第三步:在Controller的方法中添加M......
  • Spring-Framework6.1.x源码阅读环境搭建
    Spring-FrameWork6.1.x源码阅读环境搭建1.代码获取https://github.com/spring-projects/spring-framework.git。2.进入目录,修改目录下gradle/wrapper/gradle-wrapper.properties,看一下这里指定的gradle版本,distributionUrl=https://services.gradle.org/distributions/gradle-......