Spring bean初始化方法的幾種寫法

2021-10-09 14:38:58 字數 1720 閱讀 6487

專案路徑: 下的spring-06,

工程截圖

1.指明initmethod和destroymethod,新建stu類,

public class stu 

public void mydestroy()

}

把stu注入當容器中,並增加初始化myinit和銷毀方法mydestroy

@configuration

@componentscan("com.xqc")//掃瞄的包

public class springconfig

}

啟動和關閉容器,檢視結果

2.@postconstruct(初始化)+@predestroy(銷毀方法),jsr250提供的.。新建stu2類,並用@postconstruct和@predestroy註解表明初始化和銷毀方法

public class stu2 

/*** 銷毀方法

*/@predestroy

public void mydestroy()

}

在config類中

@bean

public stu2 stu2()

列印結果

3.實現initializingbean和disposablebean介面,實現介面對應的方法,新建學生類stu3

public class stu3 implements initializingbean, disposablebean 

@override

public void destroy() throws exception

}

@bean

public stu3 stu3()

執行結果

4.實現beanpostprocessor介面,此介面會攔截所有的bean,可以改bean的返回型別,新建mybeanpostprocessor 

@component

public class mybeanpostprocessor implements beanpostprocessor mybeanpostprocessor

return bean;

}@override

public object postprocessafterinitialization(object bean, string beanname) throws bean***ception

system.out.println(bean);

return bean;}}

Spring Bean初始化過程

從該繼承體系可以看出 2.abstractbeanfactory 和 abstractautowirecapablebeanfactory 是兩個模 板抽象工廠類。abstractbeanfactory 提供了 bean 工廠的抽象基類,同時提供 了 configurablebeanfactory ...

Spring Bean中初始化方法執行順序

1 當 scope為singleton時,bean會在ioc初始化時就被例項化,預設為singleton,可以配合 lazy實現延時載入 2 當 scope為prototype時,bean在ioc初始化時不會被例項化,只有在使用時,或者手動context.getbean 時才會被例項化 3 執行順序...

spring bean的初始化與銷毀

spring bean的初始與銷毀 這裡只介紹bean的初始與銷毀時呼叫的方法 不配置就不呼叫 這是要測試的bean public class testbean public void destroy 1.初始化的兩種方式 1 實現initializingbean介面的 public class b...