詳解Spring中InitializingBean接口的功能
Spring的InitializingBean接口有很好的用處,位于spring beans中,它只提供一個(gè)方法afterPropertiesSet(),當(dāng)你實(shí)現(xiàn)了該方法后,spring就會(huì)對(duì)你提供框架級(jí)的支持:當(dāng)你通過(guò)sring容器生產(chǎn)出實(shí)現(xiàn)了該接口的類(lèi)的實(shí)例后,它就會(huì)調(diào)用afterPropertiesSet方法,通過(guò)這個(gè)方法,你可以檢查你的bean是否正確地被初始化了.當(dāng)然,你也可以用init-method方法.這兩種方式可以同時(shí)使用,調(diào)用的順序?yàn)閕nit-method后調(diào)用.
下面介紹下Spring中InitializingBean接口的功能,內(nèi)容如下所示:
如果你將類(lèi)交給Spring容器管理,但是需要Spring幫你運(yùn)行初始化方法
此時(shí)我們可以借助InitializingBean接口實(shí)現(xiàn)初始化方法的效果
InitializingBean接口的原理:
Spring實(shí)例化一個(gè)類(lèi)后,會(huì)調(diào)用類(lèi)中的afterPropertiesSet方法,達(dá)到初始化初始化方法的目的
下文筆者講述Spring中InitializingBean接口的功能簡(jiǎn)介說(shuō)明,如下所示
InitializingBean接口的功能
InitializingBean接口
為bean提供了初始化方法的方式
這個(gè)接口中只包括afterPropertiesSet方法
凡是繼承該接口的類(lèi)
在初始化bean的時(shí),都會(huì)運(yùn)行afterPropertiesSet方法
import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Service;
public class InitBean implements InitializingBean{
public void afterPropertiesSet() throws Exception {
System.out.println("啟動(dòng)時(shí)自動(dòng)執(zhí)行 afterPropertiesSet...");
}
public void init(){
System.out.println("init method...");
}
}
---配置文件-----
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation=
"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"
default-lazy-init="true">
<bean id="initBean" class="com.java265.InitBean" init-method="init"> </bean>
</beans>
---main程序----
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
public class Main {
public static void main(String[] args) {
ApplicationContext context = new
FileSystemXmlApplicationContext("classpath:/applicationContext-core.xml");
context.getBean("initBean");
}
}
-----運(yùn)行以上代碼,將輸出以下信息---------
啟動(dòng)時(shí)自動(dòng)執(zhí)行 afterPropertiesSet...
init method...到此這篇關(guān)于Spring中InitializingBean接口的功能的文章就介紹到這了,更多相關(guān)Spring InitializingBean接口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot 集成pgsql+mybatis plus的詳細(xì)步驟
集成 Spring Boot、PostgreSQL 和 MyBatis Plus 的步驟與 MyBatis 類(lèi)似,只不過(guò)在 MyBatis Plus 中提供了更多的便利功能,如自動(dòng)生成 SQL、分頁(yè)查詢(xún)、Wrapper 查詢(xún)等,下面分步驟給大家介紹springboot 集成pgsql+mybatis plus的過(guò)程,感興趣的朋友一起看看吧2023-12-12
Spring 依賴(lài)注入實(shí)現(xiàn)示例
這篇文章主要介紹了Spring 依賴(lài)注入實(shí)現(xiàn)示例的相關(guān)資料,幫助大家更好的理解和使用spring框架,感興趣的朋友可以了解下2020-11-11
Java?Process中waitFor()的問(wèn)題詳解
這篇文章主要給大家介紹了關(guān)于Java?Process中waitFor()問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-12-12
舉例分析Python中設(shè)計(jì)模式之外觀模式的運(yùn)用
這篇文章主要介紹了Python中設(shè)計(jì)模式之外觀模式的運(yùn)用,外觀模式主張以分多模塊進(jìn)行代碼管理而減少耦合,需要的朋友可以參考下2016-03-03
解決tk.mybatis中寫(xiě)自定義的mapper的問(wèn)題
這篇文章主要介紹了使用tk.mybatis中寫(xiě)自定義的mapper的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
在deepin上如何使用Fleet開(kāi)發(fā)SpringBoot?3.0.0項(xiàng)目
這篇文章主要介紹了在deepin上使用Fleet開(kāi)發(fā)SpringBoot?3.0.0項(xiàng)目的過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09

