国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

認識 spring AOP (面向切面編程) - springboot

這篇具有很好參考價值的文章主要介紹了認識 spring AOP (面向切面編程) - springboot。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


前言

本篇介紹什么是spring AOP, AOP的優(yōu)點,使用場景,spring AOP的組成,簡單實現(xiàn)AOP 并 了解它的通知;如有錯誤,請在評論區(qū)指正,讓我們一起交流,共同進步!



本文開始

1. 什么是spring AOP?

AOP: 面向切面編程,也就是面向某一類編程,對某一類事情進行統(tǒng)一處理;

spring AOP: 是實現(xiàn)了AOP這種思想的一個框架;

AOP優(yōu)點:

  • 減少重復(fù)代碼:對一類同樣的工作統(tǒng)一處理;
  • 提高開發(fā)效率:同上;

spring AOP 使用場景

使用:統(tǒng)一用戶登錄判斷; 統(tǒng)一異常處理; 統(tǒng)一日志等等;

認識AOP的組成

  • 切面- Aspect:AOP定義的是一個事件;例如:登錄操作的整個過程;- 某個具體功能實現(xiàn)的過程 - 一共類;
  • 切點 - Pointcut:AOP定義的具體規(guī)則;例如:驗證登錄的 方法;- 實現(xiàn)功能的方法 - 類中的方法定義;
  • 連接點 - Join Point:可能觸發(fā)切點的所有點;- 可能調(diào)用功能的某個方法的點;
  • 通知 - Advice:AOP具體執(zhí)行的方法;例如:方法的具體實現(xiàn);- 代碼具體實現(xiàn) - 類中方法的具體實現(xiàn);
    ① 前置通知 @Before
    ② 后置通知 @After
    ③ 環(huán)繞通知 @Around
    ④ 異常通知 @AfterThrowing
    ⑤ 返回通知 @AfterReturning

通知執(zhí)行的順序:環(huán)繞通知之前 > 前置通知 > 方法 > 方法返回后通知 > 后置通知 > 環(huán)繞通知之后

認識 spring AOP (面向切面編程) - springboot,spring,spring,spring boot,java,spring aop,軟件工程

2. 實現(xiàn)spring AOP - 認識各種通知

2.1 在springboot項目中,原有依賴 + 添加spring AOP 依賴

2.2 實現(xiàn)過程 定義切面 + 定義切點 + 定義通知

  • 定義切面 -> 定義類
@Aspect // 定義切面
@Component //隨框架啟動,注入到容器中
public class UserAspect {
	//定義切點 + 通知...
}
  • 定義切點 -> 定義方法
//定義切點, 對UserController進行攔截
    @Pointcut("execution(* com.example.demo.controller.UserController.*(..))")
    public void pointcut() {
    }//空方法:方法名用于標識

切點表達式:識別該包下類下的任意方法,參數(shù)不限;

認識 spring AOP (面向切面編程) - springboot,spring,spring,spring boot,java,spring aop,軟件工程

  • 定義通知:切點的方法名,寫在通知參數(shù)中,用于識別是哪個切點的通知;(想了解具體的 百度 - AspectJ 語法)
 //前置通知
    @Before("pointcut()")
    public void doBefore() {
        System.out.println("執(zhí)行前置通知!");
    }
//后置通知
    @After("pointcut()")
    public void doAfter() {
        System.out.println("執(zhí)行后置通知!");
    }
//后置返回后的通知
    @AfterReturning("pointcut()")
    public void doAfterReturn() {
        System.out.println("執(zhí)行返回后通知!");
    }//拋出異常后通知
    @AfterThrowing("pointcut()")
    public void doAfterThrow() {
        System.out.println("執(zhí)行拋異常后的通知!");
    }
//環(huán)繞通知
    //使用環(huán)繞通知:例如:統(tǒng)計時間,就可以使用環(huán)繞通知,將通知前 與 通知后 放在一起
    @Around("pointcut()") //ProceedingJoinPoint:獲取連接點;執(zhí)行 =》返回框架,執(zhí)行
    public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable {
        System.out.println("執(zhí)行環(huán)繞通知之前!");
        Object result = joinPoint.proceed();
        System.out.println("執(zhí)行環(huán)繞通知之后");
        return result;
    }

總結(jié)

???各位讀友,本篇分享到內(nèi)容如果對你有幫助給個??贊鼓勵一下吧??!
感謝每一位一起走到這的伙伴,我們可以一起交流進步?。?!一起加油吧!??!
文章來源地址http://www.zghlxwxcb.cn/news/detail-630936.html

到了這里,關(guān)于認識 spring AOP (面向切面編程) - springboot的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • [SSM]Spring面向切面編程AOP

    [SSM]Spring面向切面編程AOP

    目錄 十五、面向切面編程AOP 15.1AOP介紹 15.2AOP的七大術(shù)語 15.3切點表達式 15.4使用Spring的AOP 15.4.1準備工作 15.4.2基于AspectJ的AOP注解式開發(fā) 15.4.3基于XML配置方式的AOP(了解) 15.5AOP的實際案例:事務(wù)處理 15.6AOP的實際案例:安全日志 IoC使軟件組件松耦合。AOP讓你能夠捕捉系統(tǒng)中經(jīng)

    2024年02月15日
    瀏覽(28)
  • Spring AOP(面向切面編程)和方法攔截

    Spring AOP(面向切面編程)和方法攔截 Spring是一款廣泛使用的Java開發(fā)框架,提供了豐富的功能和工具,用于簡化企業(yè)級應(yīng)用程序的開發(fā)。其中一個重要的特性是面向切面編程(AOP)和方法攔截。本文將介紹Spring AOP和方法攔截的概念、工作原理以及在實際開發(fā)中的應(yīng)用。 在軟

    2024年02月05日
    瀏覽(23)
  • 切面的魔力:解密Spring AOP 面向切面編程

    切面的魔力:解密Spring AOP 面向切面編程

    目錄 一、AOP簡介 1.1 什么是AOP ? 1.2?什么是面向切面編程 ? 1.3?AOP 的特點 二、?AOP的基本概念解讀 2.1 AOP的基本概念 2.2 AOP 概念趣事解讀 三、代碼情景演示 3.1?編寫目標對象(超級英雄們正常的行動) 3.2 編寫通知類 3.2.1?前置通知 3.2.2 后置通知 3.2.3 異常通知 3.2.4 環(huán)繞通知

    2024年02月11日
    瀏覽(89)
  • spring6-AOP面向切面編程

    spring6-AOP面向切面編程

    1、場景模擬 搭建子模塊:spring6-aop 1.1、聲明接口 聲明計算器接口Calculator,包含加減乘除的抽象方法 1.2、創(chuàng)建實現(xiàn)類 1.3、創(chuàng)建帶日志功能的實現(xiàn)類 1.4、提出問題 ①現(xiàn)有代碼缺陷 針對帶日志功能的實現(xiàn)類,我們發(fā)現(xiàn)有如下缺陷: 對核心業(yè)務(wù)功能有干擾,導(dǎo)致程序員在開發(fā)核

    2024年02月08日
    瀏覽(31)
  • 【Spring AOP】結(jié)合日志面向切面編程 兩種寫法

    ??????? 這里需要提前了解什么是Spring的AOP(Aspect Oriented Programming)。是在OOP(面向?qū)ο螅┧枷氲囊环N拓展思想。 簡單來說就是將某個代碼塊嵌入到其它的代碼塊中 。筆者先前學Spring也有學什么IoC啊AOP啊,但實際上沒有用過、就那聽過學過沒啥用的。。沒會兒就忘記了。

    2024年02月13日
    瀏覽(25)
  • JAVA:面向切面編程AOP

    ? ? ? ? 把某一些功能提取出來與某一對象進行隔離,提取之后可以對某哥單方面的功能進行修改和擴展 ? ? ? ? 也就是把眾多方法中的的所有公共代碼抽取出來,放到某個地方集中管理 ????????對業(yè)務(wù)邏輯的各個部分進行了隔離,從而降低業(yè)務(wù)邏輯各部分之間的耦合,

    2024年02月07日
    瀏覽(17)
  • Spring AOP (面向切面編程)原理與代理模式—實例演示

    Spring AOP (面向切面編程)原理與代理模式—實例演示

    Spring 中文文檔 (springdoc.cn) Spring | Home 官網(wǎng) ????????Java是一個面向?qū)ο螅∣OP)的語言,但它有一些弊端。雖然使用OOP可以通過組合或繼承的方式來實現(xiàn)代碼的重用。但當我們需要為多個不具有繼承關(guān)系的對象(一般指的是兩個不同的類,它們之間沒有繼承自同一個父類或接

    2024年02月15日
    瀏覽(28)
  • Spring AOP使用指南: 強大的面向切面編程技術(shù)

    Spring AOP使用指南: 強大的面向切面編程技術(shù)

    ???? 博主貓頭虎(????)帶您 Go to New World??? ?? 博客首頁 ——????貓頭虎的博客?? ?? 《面試題大全專欄》 ?? 文章圖文并茂??生動形象??簡單易學!歡迎大家來踩踩~?? ?? 《IDEA開發(fā)秘籍專欄》 ?? 學會IDEA常用操作,工作效率翻倍~?? ?? 《100天精通Golang(基礎(chǔ)

    2024年02月09日
    瀏覽(26)
  • 【JavaEE】面向切面編程AOP是什么-Spring AOP框架的基本使用

    【JavaEE】面向切面編程AOP是什么-Spring AOP框架的基本使用

    【JavaEE】 AOP(1) 1.1 AOP 與 Spring AOP AOP ( A spect O riented P rogramming),是一種思想,即 面向切面編程 Spring AOP 則是一個框架,Spring項目中需要引入依賴而使用 AOP和Spring AOP的關(guān)系就相當于IoC和DI Spring AOP讓開發(fā)者能夠半自動的開發(fā)AOP思想下實現(xiàn)的功能 1.2 沒有AOP的世界是怎樣的

    2024年02月11日
    瀏覽(29)
  • 【Spring(十一)】萬字帶你深入學習面向切面編程AOP

    【Spring(十一)】萬字帶你深入學習面向切面編程AOP

    ??今天我們來學習 AOP ,在最初我們學習Spring時說過Spring的兩大特征,一個是 IOC ,一個是 AOP ,我們現(xiàn)在要學習的就是這個AOP。 ??AOP: 面向切面編程 ,一種編程范式,指導(dǎo)開發(fā)者如何組織程序結(jié)構(gòu)。 ??作用:在不驚動原始設(shè)計的基礎(chǔ)上為其進行 功能增強 。 ??首先我們先

    2024年01月25日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包