Springboot的Bean的生命周期

简介: 个人理解

实例化好了才能操作里面的属性 这个时候刚实例化好对象是空的 初始化的对象

依赖注入是注入属性 也就是赋值给对象的属性

首先是起别名 setBeanName 给bean起别名嘛 防止重复 别名是在实例化之前就已经存在了的

所以我们如果在后面要修改别名实际上是不行的 那么就应该在实例化之前修改别名 因为在那之前他就已经被注册在容器里

一般我们通过注解改就行 没必要那么麻烦的

如果setBeanFactory一般3.0之前跟setApplicationContext一般3.0之后同时实现

对于单例来说 以setApplicationContext为准 也就是说在容器初始化的时候就被创建了

在初始化之前 可以调用befor方法修改或增强 Bean 的属性 ,并将修改后的对象返回给容器

这个时候还没有依赖关系 所以无法修改

@PostConsrtuct自定义的初始方法可以没有 如果有的话是先执行自定义的初始化方法

真正初始化的是 afterPropertiesSet 也就是在属性全部赋值后调用这个方法 开始初始化

初始化之后 调用postprocessAfterInitialization去增强功能 也可以用一个新的bean去替换旧的bean

如果有多个PostProcessor 按照注册的先后顺序去执行 不是按照字符串排序的哈 按照我们xml的顺序

image.png
然后开始生存期

然后就是销毁

相关文章
|
1月前
|
Java
SpringBoot构建Bean(RedisConfig + RestTemplateConfig)
SpringBoot构建Bean(RedisConfig + RestTemplateConfig)
44 2
|
28天前
|
前端开发 Java 数据格式
SpringBoot中定义Bean的几种方式
本文介绍了Spring Boot中定义Bean的多种方式,包括使用@Component、@Bean、@Configuration、@Import等注解及Java配置类。每种方式适用于不同的场景,帮助开发者高效管理和组织应用组件。
|
2月前
|
架构师 Java 开发者
得物面试:Springboot自动装配机制是什么?如何控制一个bean 是否加载,使用什么注解?
在40岁老架构师尼恩的读者交流群中,近期多位读者成功获得了知名互联网企业的面试机会,如得物、阿里、滴滴等。然而,面对“Spring Boot自动装配机制”等核心面试题,部分读者因准备不足而未能顺利通过。为此,尼恩团队将系统化梳理和总结这一主题,帮助大家全面提升技术水平,让面试官“爱到不能自已”。
得物面试:Springboot自动装配机制是什么?如何控制一个bean 是否加载,使用什么注解?
|
2月前
|
Java Spring 容器
Springboot3.2.1搞定了类Service和bean注解同名同类型问题修复
这篇文章讨论了在Spring Boot 3.2.1版本中,同名同类型的bean和@Service注解类之间冲突的问题得到了解决,之前版本中同名bean会相互覆盖,但不会在启动时报错,而在配置文件中设置`spring.main.allow-bean-definition-overriding=true`可以解决这个问题。
110 0
Springboot3.2.1搞定了类Service和bean注解同名同类型问题修复
|
3月前
|
Java Spring
springboot 集成 swagger 2.x 和 3.0 以及 Failed to start bean ‘documentationPluginsBootstrapper‘问题的解决
本文介绍了如何在Spring Boot项目中集成Swagger 2.x和3.0版本,并提供了解决Swagger在Spring Boot中启动失败问题“Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is java.lang.NullPointerEx”的方法,包括配置yml文件和Spring Boot版本的降级。
springboot 集成 swagger 2.x 和 3.0 以及 Failed to start bean ‘documentationPluginsBootstrapper‘问题的解决
|
2月前
|
Java Shell C++
Springboot加载注入bean的方式
本文详细介绍了Spring Boot中Bean的装配方法。首先讲解了使用@Component、@Service、@Controller、@Repository等注解声明Bean的方式,并解释了这些注解之间的关系及各自适用的层次。接着介绍了通过@Configuration和@Bean注解定义Bean的方法,展示了其灵活性和定制能力。最后讨论了@Component与@Bean的区别,并提供了在Spring Boot应用中装配依赖包中Bean的三种方法:使用@ComponentScan注解扫描指定包、使用@Import注解导入特定Bean以及在spring.factories文件中配置Bean。
|
5月前
|
Java Spring 容器
Spring Boot 启动源码解析结合Spring Bean生命周期分析
Spring Boot 启动源码解析结合Spring Bean生命周期分析
115 11
|
5月前
|
消息中间件 Java Kafka
Spring boot 自定义kafkaTemplate的bean实例进行生产消息和发送消息
Spring boot 自定义kafkaTemplate的bean实例进行生产消息和发送消息
216 5
|
4月前
|
Java Spring 容器
Java SpringBoot 中,动态执行 bean 对象中的方法
Java SpringBoot 中,动态执行 bean 对象中的方法
47 0
|
4月前
|
Java Spring
Java SpringBoot Bean InitializingBean 项目初始化
Java SpringBoot Bean InitializingBean 项目初始化
67 0