@import
給容器中註冊元件的方式:
包掃瞄+註解標註註解(@controller、@service、@repository、@component)【侷限於自己寫的類】
@bean【匯入第三方包裡面的元件】
@import【快速給容器匯入乙個元件】
@import(要匯入到容器的元件)容器中就會自動註冊這個元件,id預設是全類名。
importselector:返回匯入的元件的全類名陣列。
importbeandefinitionregistrar :手動註冊bean:public
class
myimportselector
implements
importselector
}
使用spring提供的factorybean介面(工廠bean)public
class
myimportbeanregistry
implements
importbeandefinitionregistrar
}
預設獲取到的是工廠bean呼叫getobject方法建立的物件
要獲取工廠本身的bean物件,需要在id前面加上&。
5. bean的生命週期相關
使用@bean指定init-method
方法和destroy-method
方法。
初始化:物件建立完成,並賦值好,呼叫初始化方法。
銷毀:單例項:當容器關閉後,呼叫銷毀方法。
多例項:容器不會管理這些bean,不會呼叫銷毀方法。
通過bean實現initializingbean(定義初始化邏輯)和disposablebean(定義銷毀邏輯) 介面。
3.可以使用jsr250public
class
carimplements
initializingbean
, disposablebean
public
void
destroy()
throws exception
}
beanpostprocessor【inte***ce】bean的後置處理器,在bean初始化前後進行一些處理@postconstructor:在bean建立完成,並且賦值完成;來執行初始化方法
@predestroy:在容器銷毀bean之前通知我們進行清理工作
/**
* 加入spring容器
*/@component
public
class
myposthandler
implements
beanpostprocessor
//在初始化方法執行之後執行
public object postprocessafterinitialization
(object bean, string beanname)
throws bean***ception
}
Spring註解驅動(二)
conditional按照一定的條件進行判斷,滿足條件給容器中註冊bean conditional conditional bean bill public person person1 conditional bean linux public person person2 dos.name li...
spring 註解驅動 01
註解有 controller 標註是乙個控制層 service 標註是乙個業務層 repository 標註是乙個持久層 configuration 表示是乙個配置類 componentscan 表示掃瞄包與spring bean.xml檔案中的掃瞄包效果一致 下面看是示例 一 這是乙個配置類 pa...
spring註解驅動 Autowired
1.autowired 自動注入 1.預設優先按照型別去容器中找對應的元件,如果找到多個,則按照屬性名作為元件 的 id 去容器中查詢 2.qualifier 使用 qualifier指定需要裝配的元件id,而不是屬性名 自動裝配預設一定要將屬性賦值好,沒有就報錯。可以使用 autowired re...