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

发布时间 - 2026-01-11 00:22:29    点击率:

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).生命周期图:

  

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


# spring  # bean生命周期  # bean的生命周期  # springbean的生命周期  # Spring Bean生命周期源码原理图解  # SPRING FRAMEWORK BEAN作用域和生命周期原理解析  # Spring中Bean的生命周期使用解析  # Spring配置使用之Bean生命周期详解  # Spring中bean的生命周期之getSingleton方法  # 为例  # 配置文件  # 大家多多  # 器中  # generated  # Auto  # beanName  # method  # stub  # Override  # setName  # setBeanName  # TODO  # BeanPostProcessor  # MyBeanPostProcessor  # Object  # postProcessAfterInitialization  # setBeanFactory  # id  # BeanFactory 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel Fortify是什么,和Jetstream有什么关系  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  MySQL查询结果复制到新表的方法(更新、插入)  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  Python高阶函数应用_函数作为参数说明【指导】  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  免费网站制作appp,免费制作app哪个平台好?  如何在宝塔面板创建新站点?  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  利用JavaScript实现拖拽改变元素大小  如何批量查询域名的建站时间记录?  轻松掌握MySQL函数中的last_insert_id()  如何用IIS7快速搭建并优化网站站点?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  JavaScript如何操作视频_媒体API怎么控制播放  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  b2c电商网站制作流程,b2c水平综合的电商平台?  如何自定义建站之星模板颜色并下载新样式?  Laravel怎么判断请求类型_Laravel Request isMethod用法  nodejs redis 发布订阅机制封装实现方法及实例代码  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  java ZXing生成二维码及条码实例分享  Laravel如何实现事件和监听器?(Event & Listener实战)  英语简历制作免费网站推荐,如何将简历翻译成英文?  如何用PHP快速搭建CMS系统?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  高防服务器租用指南:配置选择与快速部署攻略  在线制作视频网站免费,都有哪些好的动漫网站?  浅谈Javascript中的Label语句  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  如何自定义建站之星网站的导航菜单样式?  javascript中的try catch异常捕获机制用法分析  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  微信小程序 canvas开发实例及注意事项  如何快速搭建个人网站并优化SEO?  使用Dockerfile构建java web环境  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  bing浏览器学术搜索入口_bing学术文献检索地址  中山网站推广排名,中山信息港登录入口?  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  Angular 表单中正确绑定输入值以确保提交与验证正常工作  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  企业网站制作这些问题要关注  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  如何用VPS主机快速搭建个人网站?  网站建设保证美观性,需要考虑的几点问题!