Spring最簡潔清晰總結 ioc aop

2021-10-05 18:29:05 字數 4286 閱讀 2750

格式:

bean

>

bean的作用域

作用域定義

singleton

單例prototype

多例request

web單例

session

web單例

global-session

portlet單例

構造器注入(從上到下按照構造方法引數順序):

constractor-arg

>

constractor-arg

>

bean

>

value是基本型別,ref是類

屬性注入
property

>

property

>

bean

>

value是基本型別,ref是類

通過spel屬性注入
property

>

bean

>

通過xml自動裝配:

​ 通過no的方式:

property

>

bean

>

​ 通過byname、bytype方式:

bean

>

​ 但是bytype模式下如果存在多個bean,丟擲異常,解決辦法是:

bean

>

​ 裝配構造器:

bean

>

和bytype有相同侷限性

​ 最佳自動裝配

相當於先constructor再bytype

通過註解自動裝配
@autowired

student stu;

@autowired

void

setstudent

(student stu)

​ 但是,@audowired相當於bytype,以下方式相當於byname:

@autowired

@qualifier

("student1"

)student stu;

@autowired
@inject

student stu;

@inject相當於@audowired,只是如果值為null丟擲異常。

@value

("hello"

)string str;

註解

說明@component

通用@controller

mvccontroller

@repository

資料倉儲

@service

服務

切面:

public

class

audience

;public

void()

;}

註冊切面bean:

id=audience

class

=audience

>

bean

>

切點:

<

aop:config

>

aspect

ref=

"audience"

>

<

aop:before

pointcut

="execution(* com.***.perform.perform(..) "

method

="takeseats"

/>

<

aop:after

pointcut

="execution(* com.***.perform.perform(..) "

method

=/>

aop>

aop:config

>

或者:

<

aop:config

>

aspect

ref=

"audience"

>

<

aop:before

pointcut-ref

="p"

method

="takeseats"

/>

<

aop:after

pointcut-ref

="p"

method

=/>

aop>

aop:config

>

切面:

public

class

audience

;public

void()

;public

void

watchshow

(proceedingjoinpoint joinpoint)

}

註冊切面bean:

id=audience

class

=audience

>

bean

>

切點:

<

aop:config

>

aspect

ref=

"audience"

>

<

aop:around

pointcut-ref

="p"

method

="takeseats"

/>

aop>

aop:config

>

通知傳參:

<

aop:config

>

aspect

ref=

"magician"

>

<

aop:before

pointcut-ref

="thinking"

method

="interceptthoughts"

arg-names

="thoughts"

/>

aop>

aop:config

>

註解切面:

@aspect

public

class

audience

//performance不用去實現,其實就是相當於pointcut id="performance"

@before

("performance()"

)public

void

takeseats()

;@after

("performance()"

)public

void()

;@around

("performance()"

)public

void

watchshow

(proceedingjoinpoint joinpoint)

}

C 原碼反碼補碼最簡潔使用總結

一 有符號數和無符號數 無符號數 範圍 0 15 0000 0 1111 15。總共16個數 有符號數 範圍 7 7 1111 7 1000 0,0000 0 0111 7 四位有符號數同樣表示16個數,其中正負0表示兩個數 二 原碼表示 能滿足同正號的數和無符號數相加,異號相加出錯 表示方法 一中...

史上最清晰的學生管理系統專案總結 c

本專案得所有 見本人github 我們需要定義兩個類,乙個是我們需要操作的基本但聞 學生,另乙個則是系統,在系統內有我們需要的主要功能。class stuinfo stuinfo char sno1,char sname,char cname,char int age,char tel void s...

最簡潔清晰的二叉樹非遞迴遍歷 (二)驗證二叉搜尋樹

給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。假設乙個二叉搜尋樹具有如下特徵 節點的左子樹只包含小於當前節點的數。節點的右子樹只包含大於當前節點的數。所有左子樹和右子樹自身必須也是二叉搜尋樹。示例 1 輸入 2 1 3輸出 true 示例 2 輸入 5 1 4 36輸出 false 解釋 輸入為...