当前位置: 首页 > news >正文

Java面试题:SpringBean的生命周期

SpringBean的生命周期

BeanDefinition

Spring容器在进行实例化时,会将xml配置的信息封装成BeanDefinition对象

Spring根据BeanDefinition来创建Bean对象

包含很多属性来描述Bean

包括

beanClassName:bean的类名,通过类名进行反射

initMethodName:初始化方法名称

propertyValues:bean的属性值

scope:作用域

lazyInit:是否需要延迟初始化

Bean的生命周期

通过BeanDefinition获取bean定义信息
调用bean的构造函数
随后进行依赖注入
实现Aware接口(进一步对bean进行扩展,包括beanname,beanFactory,applicationContext)

重写setBeanName(),setBeanFactory(),setApplicationContext()得到对应的bean属性

BeanPostProcessor#before(前置后置处理器)
初始化方法(初始化方法+自定义init方法)

添加@PostConstruct注解自定义初始化方法

实现initializingBean接口重写afterPropertiesSet()方法定义初始化方法

BeanPostProcessor#after(后置后置处理器)AOP
销毁bean

添加@PreDestory定义bean的销毁方法

http://www.lryc.cn/news/414232.html

相关文章:

  • 50 IRF检测MAD-BFD
  • SpringSecurity-1(认证和授权+SpringSecurity入门案例+自定义认证+数据库认证)
  • Java高级
  • python实现图像分割算法3
  • 解密XXE漏洞:原理剖析、复现与代码审计实战
  • Spring Boot集成Resilience4J实现限流/重试/隔离
  • 谷粒商城实战笔记-119~121-全文检索-ElasticSearch-mapping
  • Java 并发编程:Java 线程池的介绍与使用
  • ubuntu上安装HBase伪分布式-2024年08月04日
  • Mojo的特征与参数(参数化部分)详解
  • C++数组、vector求最大值最小值及其下标
  • 内网安全:多种横向移动方式
  • 搭建 STM32 网关服务器的全流程:集成嵌入式 C++、TCP/IP 通信、Flash 存储及 JWT 认证(含代码示例)
  • 一款免费强大的电脑锁屏工具,中文绿色免安装
  • Python | Leetcode Python题解之第319题灯泡开关
  • 前端Web-JavaScript(上)
  • 【积累】Python的类
  • Golang | Leetcode Golang题解之第318题最大单词长度乘积
  • 【感想】支持八股文在面试的应用
  • B - 02-计算球的体积 51Nod - 3266
  • Qt pro文件详解
  • JavaFX布局-ButtonBar
  • 【C++程序设计】——利用数组处理批量数据(二)
  • 使用 1panel面板 部署 php网站
  • Windows调大虚拟内存来代替升级物理运行内存(RAM)真的有用吗?
  • [Unity] ShaderGraph实现DeBuff污染 溶解叠加效果
  • java算法day28
  • vue实现歌词滚动效果
  • 【算法设计题】合并两个非递减有序链表,第1题(C/C++)
  • Vue前端工程