面经-框架-Spring Bean生命周期

Spring Bean生命周期

1.处理名称,检查缓存

一级缓存:放单例成品对象;二级缓存:放单例工厂的产品;三级缓存:放单例工厂。

2.检查父工厂

如果父子容器名称重复,优先子容器bean。

3.检查DependsOn

有依赖关系的bean创建次序有保障。无依赖关系时,A dependsOn B,则B先创建。

4.按Scope创建Bean

创建单例,去单例池获取bean,有则返回,无则进入创建流程。

创建多例,进入创建流程。从不缓存bean,直接创建新的。

创建自定义scope,例如request,到request域获取bean,有则返回,无则进入创建流程。

5.创建Bean

创建Bean实例 1.加@Autowired注入bean实例 2.有唯一的带参构造 3.默认构造(暴力反射把私有设为true)

依赖注入 注解匹配、根据名字/类型匹配、精确指定(优先级:精确>名字/类型>注解匹配)

初始化 方式:Aware接口、@PostConstruct、接口回调、@Bean、创建aop代理。

登记可销毁bean 实现AutoCloseable接口/自定义destroyMethod/提供close方法/@PreDestroy,即可记录下来,存储在bean工厂的成员变量中。多例scope不会存储。

6.类型转换

7.销毁bean

销毁时机:

单例bean:close时会逐一销毁。

多例bean:手动调用destroyBean销毁

自定义bean:作用域对象生命周期结束时。

java面经-百度准入职老哥整理.pdf》是一份关于百度准入职面试的Java面经整理。这份面经是由百度准入职的老哥整理而成,其中记录了一些面试时可能会遇到的问题以及解答方法。 这份面经对于准备参加百度准入职面试的人来说非常有价值。首先,它列出了一些常见的面试问题,涵盖了Java语言的各个方面,包括基础知识、数据结构与算法、设计模式、多线程、网络编程等等。通过仔细研究和复习这些问题的答案,可以帮助面试者全面了解Java语言的特性和应用。 其次,这份面经还提供了问题的解答思路和方法,帮助面试者理清思路,正确回答问题。这对于很多面试者来说特别有帮助,因为在面试时有时会遇到一些棘手的问题,有了这份面经的指导,面试者可以更好地掌握应对策略。 不过需要注意的是,面经作为一份参考资料,不能完全依赖于它来准备面试。面试官可能会问一些不在面经中列出的问题,因此考生还是需要自己对Java语言有充分的了解,并能够熟练运用。同时,面试官还会关注考生的沟通能力、解决问题的能力以及对新技术的学习和掌握能力。 总体来说,《java面经-百度准入职老哥整理.pdf》是一份非常宝贵的资料,可以帮助面试者对Java面试中可能会遇到的问题有更深入的了解,提供了解答思路和方法。但记住,面试准备还需要多方面的知识积累和实践经验的积累,才能在面试中展现自己的优势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值