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...