Spring Bean

**

SpringBean的生命周期:

**
1、实例化Bean
对于beanfactory容器,当用户请求一个未初始化的bean或者初始化bean时需要注入另一个尚未初始化的依赖对象时,调用createbean进行实例化。对于applicationContnext容器,容器启动时,已经通过获取BeanDefinition对象中的信息,实例化了所有的bean。
2、设置对象属性
实例化后的对象呗封装在BeanWrapper对象中,spring根据BeanDefinition中的信息以及BeanWrapper提供的设置属性的接口完成依赖注入
3、处理Aware接口
Spring检查改对象是否实现了XXXAware接口,并将相应的实例注入给bean
4、BeanPostProcessor
如果想对bean进行一些自定义的处理,可以让bean实现beanpostProcessor接口,将会调用postProcessBeforeInitialization(Object obj,String s)方法。由于这个方法是在Bean初始化结束时调用的,所以可以被用于内存或缓存技术。
5、Init_method与InitializingBean
如果bean在spring配置文件中配置了init_method属性,则自动调用其配置的初始化方法。
---------------------此时bean被创建,并可以正确使用-------------------
6、DiSposableBean
当bean不再需要的时候,会经过清理阶段,如果实现了DisposableBean接口,则会调用其实现的destory方法。
7、Destory-method
如果这个bean的spring配置文件中配置了destory-method,则会调用其配置的销毁方法。

Bean的作用域:

1、singleton,默认,每个容器只有一个bean实例,单例的模式由beanFactory自身来维护
2、Prototype,为每个bean请求提供一个实例。
3、Request,为每一个网络请求创建一个实例,在请求完成后,bean失效并且被垃圾回收器回收。
4、Session,与request类似,确保每一个session中有一个bean,session失效bean失效
5、Global-session全局作用域。

Bean的注入方式

1、set()注入
对象有set方法,配置xml文件时配置set注入
2、构造器注入
使用构造函数的注入方式,xml文件中配置构造器注入,配置参数
3、静态工厂注入
4、实例化工厂注入

详情请看
https://blog.csdn.net/a745233700/article/details/89307518
面试题总结请看
https://blog.csdn.net/a745233700/article/details/80959716

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wmf_helloWorld

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值