springboot 如何解决static调用service为null
作者:离别又见离别 时间:2022-09-05 05:30:03
springboot static调用service为null
@PostConstruct注解好多人以为是Spring提供的。其实是Java自己的注解。
Java中该注解的说明:
@PostConstruct该注解被用来修饰一个非静态的void()方法。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。
通常我们会是在Spring框架中使用到@PostConstruct注解 该注解的方法在整个Bean初始化中的执行顺序:
Constructor(构造方法) -> @Autowired(依赖注入) -> @PostConstruct(注释的方法)
实战:
在静态方法中调用依赖注入的Bean中的方法。
@Component
public class LeaveCode {
@Autowired
private IPlaLeaveApplyService plaLeaveApplyService;
public static LeaveCode leaveCode;
/**
* 解决 static方法调用 注入的service为null
*/
@PostConstruct
public void init(){
leaveCode = this;
leaveCode.plaLeaveApplyService = this.plaLeaveApplyService;
}
}
SpringBoot 静态类引入service 空指针/NULL
Spring注入service后,正常情况下非静态方法是可以正常使用注册的service的,当时用静态类引用的时候,静态类static方法会将spring注入的service清空。
造成引用空指针的情况,如何解决呢?
@Component
public class UserUtils {
@Autowired
private UserService userService;
private static UserUtils userUtils;
@PostConstruct
public void init() {
userUtils = this;
userUtils.userService = this.userService;
}
}
使用:
User user = userUtils.userService.getUser(loginCode);
来源:https://blog.csdn.net/weixin_43861630/article/details/109101869
标签:springboot,static,service,null
0
投稿
猜你喜欢
ThreadLocal使用案例_动力节点Java学院整理
2021-06-08 09:57:15
Java基础之二叉搜索树的基本操作
2023-07-08 10:07:07
简单实现Android刮刮卡效果
2022-08-12 01:49:00
MyBatis环境资源配置实现代码详解
2023-08-05 08:59:02
Android快速实现断点续传的方法
2021-06-14 13:02:28
android编程之xml文件读取和写入方法
2022-08-23 05:47:48
Java实现克隆的三种方式实例总结
2021-11-21 15:26:14
spring系列笔记之常用注解
2022-02-21 16:15:04
解决Android SDK下载和更新失败的方法详解
2021-07-04 21:28:57
C#文件路径操作详细总结
2021-06-06 04:07:41
Java迭代器与Collection接口超详细讲解
2022-07-14 05:10:49
MyBatis中PageHelper不生效的解决方案
2022-10-23 11:46:47
Java 实现判定顺序表中是否包含某个元素(思路详解)
2023-09-11 01:03:04
Unity3D运行报DllNotFoundException错误的解决方案
2021-09-13 00:22:35
Android安装apk文件并适配Android 7.0详解
2022-11-11 01:41:28
Java实现生成JSON字符串的三种方式分享
2022-05-20 15:21:31
c#远程html数据抓取实例分享
2023-07-03 12:50:49
java中利用List的subList方法实现对List分页(简单易学)
2022-06-18 23:33:09
Windows系统安装JDK小结
2022-07-16 02:49:57
c# 如何用lock解决缓存击穿
2022-12-03 14:27:55