Spring Bean生命周期详解

一、生命周期过程


在这里插入图片描述

二、用途


在创建Bean过程中完成一些额外操作,比如加属性、方法、方法的调用等等。
至于加的位置取决自己的业务需求。
实现方式也可以有多种:
1、注解。
2、实现生命周期中的接口重写原有方法。
3、在生命周期完成前可以采用static静态代码块,会在类加载的时候自动执行。
4、在生命周期完成后,可以实现Spring容器启动完成后执行的两个接口,分别为CommandLineRunner和ApplicationRunner。
只要实现接口中的run方法,前者参数是String数组,后者是ApplicationArguments。多个类同时实现时,使用@Order定义执行顺序。
注:使用时注意执行顺序;static>construct>@PostConstruct>CommandLineRunner\ApplicationRunner>@PreDestory>destory方法

三、使用时注意操作不可违背生命周期过程


亲身经历那就是血的教训:
1、复制改造其他项目代码做组件时,注意检查是否有违周期的方法,如在Bean对象未完成实例化时调用它的任何构造函数,说人话即交给容器管理的对象类里,千万不要有调用Bean对象的构造方法的地方,好好查看一下!!!! 不然,空指针会等着你的,找不到类想想就头秃
2、 注意构造Bean对象是先属性后实例化,简单点记,没有属性=没有具体内容(别人告诉你,有个需求要你做,但是就是不告诉你需求是个啥玩意儿,你能干活?)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值