下文笔者讲述Spring中InitializingBean接口的功能简介说明,如下所示
当我们对一个类实现了InitalizingBean接口后,如果我们把这个类交给Spring管理,
则Spring在将这个单例类放入IOC容器后,会使用反射的方式运行afterPropertiesSet方法
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...