Spring应用手册-InitializingBean接口
程序员文章站
2024-03-24 15:57:28
...
戴着假发的程序员出品 抖音ID:戴着假发的程序员 欢迎关注
InitializingBean接口
spring应用手册(第五部分)
InitializingBean接口为bean提供了初始化方法的方式,它只包括afterPropertiesSet方法,凡是继承该接口的类,在初始化bean的时候都会执行该方法。
这里要注意的,InitializingBean的afterPropertiesSet和bean的initmethod不是一回事,XML配置情况下它会在initmethod之前执行。在注解模式下会在初始化方法之后执行。
我们看案例:
我们准备一个Bean,提供构造方法,初始化方法init,属性name,以及实现接口InitializingBean:
/**
* @author 戴着假发的程序员
* @company http://www.boxuewa.com
* @description
*/
public class Coder implements InitializingBean {
//构造方法
public Coder(){
System.out.println("实例化Coder对象");
}
public void init(){
System.out.println("初始化Coder对象--init");
}
private String name;
public void setName(String name){
System.out.println("设置属性name:"+name);
this.name = name;
}
@Override
public void afterPropertiesSet() throws Exception {
System.out.println("初始化Coder对象-afterPropertiesSet");
}
}
在配置文件中配置这个Bean,并且注入属性name:
<?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:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
<bean id="coder" init-method="init" class="com.st.dk.demo10.beans.Coder">
<property name="name" value="戴着假发的程序员"/>
</bean>
</beans>
创建spring容器测试:
@Test
public void testSpring(){
ApplicationContext ac =
new ClassPathXmlApplicationContext("applicationContext-demo10.xml");
}
观察控制台输出:
我们会发现,步骤:
实例化对象
设置属性
执行afterPropertiesSet方法
执行init方法
推荐阅读
-
Spring应用手册-ImportSelector接口
-
Spring应用手册-BeanFactoryPostProcessor接口
-
Spring应用手册-DisposableBean接口
-
Spring应用手册-InitializingBean接口
-
Spring应用手册-BeanPostProcessor接口
-
spring InitializingBean接口作用 博客分类: spring
-
Spring中的InitializingBean接口的使用
-
Spring中的InitializingBean接口的使用
-
spring中InitializingBean接口
-
Spring应用手册--FactoryBean接口