Spring IOC和 Spring AOP知識點

2021-06-14 03:17:42 字數 1193 閱讀 6378

spring ioc:例項化具體bean,動態裝配

1、spring自動裝配:autowire ="byname" 或"bytype" ,byname就是指根據要裝入的bean的名稱和呼叫bean裡面屬性名相同的自動裝配,bytype是根據要裝入的bean的型別來找,但型別相同的bean不能重複,否則包異常。

2、在則這裡面的所有bean都自動裝配

3、spring中bean的lazy-init="true" 則在配置檔案初始化時這個bean不進行初始化,預設為false,只有在系統裡面bean特別多,造成系統啟動時特別慢時才會用.

5、spring的生命週期:和servlet差不多,初始化相同的bean只init一次,結束destroy,在bean中使用init-ethod="inti" destroy-method="destroy",不能和proptotype 一塊用,否則發生未知情況。

6、@autowired

要使用@autowired,要在配置檔案中寫

a>預設按型別 by type

b>如果想用byname,使用@qulifier

c>寫在private field(屬性注入)(不建議,破壞封裝)

d>如果寫在set上,@qulifier需要寫在引數上

7、@resource(name="userdao")

加入:j2ee/common-annotations.jar

a>預設使用byname,找不到時再按bytype

b>如果想用byname,@resource(name="注入名稱")

c>不足:

8、@component

自動掃瞄

要在配置檔案中寫

在bean 上面加@component("userdao")

9、不在配置檔案中設定初始化和銷毀

在bean內方法上面@postconstruct 相對於 init-method;

@predestroy 相對於 destroy-method;

spring aop:    動態**

使用aop: 

使用aspectj

在xml配置檔案中新增,

加jar包,

在切面類上加@aspect 是其變為切面類

在切面方面上加@before/after(finally())/afterthrowing(catch())("execution(具體的類(返回值)的具體的方法)")

1019 數字黑洞(sscanf和sprintf)

給定任乙個各位數字不完全相同的 4 位正整數,如果我們先把 4 個數字按非遞增排序,再按非遞減排序,然後用第 1 個數字減第 2 個數字,將得到乙個新的數字。一直重複這樣做,我們很快會停在有 數字黑洞 之稱的 6174,這個神奇的數字也叫 kaprekar 常數。例如,我們從6767開始,將得到 7...

通過HelloSpring了解Spring的IOC

在dao層建立乙個hello實體類。package dao public class hello public void setstr string str override public string tostring 然後要輸出就要建立物件,在spring中,有乙個ioc池,需要使用物件就在池裡...

Spring IOC原理和應用 依賴注入

spring提供ioc容器,對 bean進行例項化。使用bean時候從容器中取。ioc控制反轉,將物件的建立權反轉到了spring容器中。1 把物件的建立交給spring進行管理 2 ioc操作兩部分 1 ioc配置檔案方法 2 ioc的註解方式 配置bean 1 ioc底層原理使用技術 1 xml...