首页 > 编程 > Java > 正文

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

2019-11-26 12:45:06
字体:
来源:转载
供稿:网友

1.以ApplocationContext上下文单例模式装配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).生命周期图:

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表