java面试框架篇
dyjs.akcnzssa.s.
这个作者很懒,什么都没留下…
展开
-
bean的生命周期
BeanPostProcessor后置处理,主要是对bean进行增强,有可能在这里产生代理对象。 这个初始化方法可以是处理InitializingBean接口,调用他的接口方法。 也可以是XML 配置文件init-method这个属性指定的方法。 或@PostContruct注解标注的方法。 处理Aware接口,设置相关依赖。:Spring的bean的生命周期。2.bean的依赖注入和属性赋值。 调用bean的初始化方法。 3.1初始化之前的工作。 3.2初始化bean。原创 2024-04-10 15:06:55 · 235 阅读 · 0 评论 -
使用三级缓存解决bean创建过程中的循环依赖问题
实际上二级缓存就能解决问题,但是很多时候我们用到的不是真正的对象,而是代理类的对象,因为依赖注入先发送,创建代理对象后发生,此时用二级缓存Bean中注入的不是代理类对象,而是真正的对象,这样肯定不行,我们还指望用代理对象进行功能增强呢。因为bean的创建存在先后,创建beanA时依赖注入BeanB,但BeanB还没创建,我们就回去创建BeanB,但是BeanB又需要依赖注入BeanA,就会造成死循环。1.判断一级缓存中是否存在beanA,存在直接返回,不用再创建了。以类A为例,我们创建类A的bean。原创 2024-03-27 20:21:25 · 200 阅读 · 0 评论 -
spring中的Singleton Bean(单例bean)是否为单例模式
单例模式的目的:确保一个类只有一个实例,并且提供一个全局的访问点(Ensure a class only has one instance, and provide a global point of access to it)singleton bean 只能保证每个容器内,相同 id 的 bean 单实例,所以他不是单例模式,spring中同一个类可以有多个id不同的bean实例。注入这个类的Bean,每次注入spring容器都会创建一个新的实例。定义一个类,Scope设置为prototype。原创 2024-03-26 16:32:49 · 655 阅读 · 0 评论 -
spirng的两个容器ApplicationContext和BeanFactory的区别
而ApplicationContext继承了BeanFactory,所以ApplicationContext拥有BeanFactory所有的特点,也是一个Bean工厂,但是ApplicationContext除开继承了BeanFactory之外,还继承了诸如EnvironmentCapable、 MessageSource、 ApplicationEventPublisher等接口,从而ApplicationContext还有获取系统环境变量、国际化、事件发布等功能,这是BeanFactory所不具备的。原创 2024-03-25 17:49:41 · 207 阅读 · 0 评论