久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

springboot 如何解決static調用service為null

瀏覽:76日期:2023-03-06 13:26:33
springboot static調用service為null

@PostConstruct注解好多人以為是Spring提供的。其實是Java自己的注解。

Java中該注解的說明:

@PostConstruct該注解被用來修飾一個非靜態的void()方法。被@PostConstruct修飾的方法會在服務器加載Servlet的時候運行,并且只會被服務器執行一次。PostConstruct在構造函數之后執行,init()方法之前執行。

通常我們會是在Spring框架中使用到@PostConstruct注解 該注解的方法在整個Bean初始化中的執行順序:

Constructor(構造方法) -> @Autowired(依賴注入) -> @PostConstruct(注釋的方法)

實戰:

在靜態方法中調用依賴注入的Bean中的方法。

@Componentpublic 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清空。

造成引用空指針的情況,如何解決呢?

@Componentpublic 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);

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
主站蜘蛛池模板: 新郑市| 木兰县| 额尔古纳市| 永济市| 红河县| 南丰县| 田东县| 鸡东县| 黑河市| 泗水县| 温泉县| 曲周县| 桐城市| 长武县| 海晏县| 文山县| 道孚县| 浠水县| 柘荣县| 通化县| 常山县| 琼中| 监利县| 辽阳县| 青神县| 北川| 涟水县| 江陵县| 资中县| 白沙| 海安县| 长乐市| 新野县| 沧州市| 老河口市| 白沙| 琼结县| 墨竹工卡县| 雷州市| 崇左市| 龙门县|