深入理解Spring中bean的生命周期介绍

1.以ApplocationContext上下文单例模式装配bean为例,深入探讨生命周期" title="bean的生命周期">bean的生命周期:

(1).生命周期图:

(2).具体事例:

person类实现BeanNameAware,BeanFactoryAware接口

public class Person implements BeanNameAware ,BeanFactoryAware{

private String name;

public Person(){

System.out.println("调用构造器为属性值初始化");

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

@Override

public void setBeanName(String arg0) {

// TODO Auto-generated method stub

System.out.println("获取beanName id值"+" "+arg0);

}

@Override

public void setBeanFactory(BeanFactory arg0) throws BeansException {

// TODO Auto-generated method stub

System.out.println("获取BeanFactory" +" "+arg0);

}

}

public class MyBeanPostProcessor implements BeanPostProcessor{

@Override

public Object postProcessAfterInitialization(Object arg0, String arg1) throws BeansException {

// TODO Auto-generated method stub

System.out.println("调用postProcessAfterInitialization");

return arg0;

}

@Override

public Object postProcessBeforeInitialization(Object arg0, String arg1) throws BeansException {

// TODO Auto-generated method stub

System.out.println("调用postProcessBeforeInitialization");

return arg0;

}

}

ApplicationContext.xml配置文件:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

<!-- bean的配置文件 -->

<bean id="person" class="org.jingdong.bean.life.Person">

<property name="name" value="grl"></property>

</bean>

<bean id="myBeanPostProcessor" class="org.jingdong.bean.life.MyBeanPostProcessor"></bean>

</beans>

Main.java

public class Main {

public static void main(String[] args) {

// 创建IOC容器

ApplicationContext ac = new ClassPathXmlApplicationContext("org/jingdong/bean/life/applicationContext.xml");

//从容器中获取bean实例

Person person = (Person) ac.getBean("person");

//使用bean

System.out.println(person.getName());

}

}

2.以Spring Factory装配bean为例:

(1).生命周期图:

以上是 深入理解Spring中bean的生命周期介绍 的全部内容, 来源链接: utcz.com/p/213287.html

回到顶部