Spring InitializingBean接口
java265 人气:0Spring的InitializingBean接口有很好的用处,位于spring beans中,它只提供一个方法afterPropertiesSet(),当你实现了该方法后,spring就会对你提供框架级的支持:当你通过sring容器生产出实现了该接口的类的实例后,它就会调用afterPropertiesSet方法,通过这个方法,你可以检查你的bean是否正确地被初始化了.当然,你也可以用init-method方法.这两种方式可以同时使用,调用的顺序为init-method后调用.
下面介绍下Spring中InitializingBean接口的功能,内容如下所示:
如果你将类交给Spring容器管理,但是需要Spring帮你运行初始化方法
此时我们可以借助InitializingBean接口实现初始化方法的效果
InitializingBean接口的原理:
Spring实例化一个类后,会调用类中的afterPropertiesSet方法,达到初始化初始化方法的目的
下文笔者讲述Spring中InitializingBean接口的功能简介说明,如下所示
InitializingBean接口的功能
InitializingBean接口
为bean提供了初始化方法的方式
这个接口中只包括afterPropertiesSet方法
凡是继承该接口的类
在初始化bean的时,都会运行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("启动时自动执行 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"); } } -----运行以上代码,将输出以下信息--------- 启动时自动执行 afterPropertiesSet... init method...
加载全部内容