bean的初始化函數
1.實現 InitializingBean 接口,容器會自動調用afterPropertiesSet();post
2. 指定 <bean id="typeResolver" class="" init-method=""></bean> 指定 一個方法給 init-methodspa
若是同時指定兩種,先執行第一種,後再執行第二種。建議使用第2種,代碼污染小.net
註解:xml
@Bean(initMethod="",destroyMethod = "") //至關於xml int-method接口
@PostConstruct //在構造函數執行完成以後執行get
bean的銷燬it
1.實現DisposableBean接口io
2.指定destroy-methodclass
註解:
@PreDestroy //在bean 銷燬以前執行
指定多個bean的初始化與銷燬
1.能夠在<beans>中指定default-init--method 屬性
例
例: class User implent InitializingBean{
void setName(){...}
void init(){...}
void afterPropertiesSet(){...}
}
Bean 後處理 是對全部的Bean進行統一處理,BeanProcessor 自己不對外提供服務,能夠不設置id.容器將自動處理其中的方法
class BeanProcessor implent BeanPostProcessor{
Object postProcessBeforeInitializetion(bean,beanName){...}
Object postProcessAfterInitialization(bean,beanName){...}
}
1. 執行 User 中 setName 完依賴注入
2. 執行 BeanProcessor 中 postProcessBeforeInitializetion方法處理
3. 執行 User 中 afterPropertiesSet
4. 執行 User 中 init 配置<bean init-method="int">
5. 執行 BeanProcessor 中 postProcessAfterInitialization