springboot环境下工具类中注入对象或者静态方法中工具类中注入对象

众所周知工具类一般为static的,如果我们在工具类中需要操作数据库,那么spring环境下需要注入service或者dao将对象交给spring进行管控,但是静态的的对象是无法被注入的,代码可能会出现各种空指针。需要采用@PostConstruct注解,

具体@PostConstruct使用的条件:

1.@PostConstruct 用在方法上

2.使用这个注解的类必须可以被spring管理,我是在工具类上添加了@Component

可以了解一下这个注解具体的执行的顺序

优先执行依然是构造方法,这个是java的语言决定的,毕竟spring只是建立在java之上的框架。然后才是被PostConstruct修饰的方法,要注意的是这个方法在对象的初始化和依赖都完成之后才会执行,所以不必担心执行这个方法的时候有个别成员属性没有被初始化为null的情况发生。

错误:

正确的注入方式:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值