日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

项目启动时socket自动启动_spring boot 项目在启动时调用接口

發(fā)布時(shí)間:2025/4/16 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 项目启动时socket自动启动_spring boot 项目在启动时调用接口 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.環(huán)境

目前開發(fā)的項(xiàng)目使用的spring boot(2.1.4.RELEASE)+ssm

2. 需求

現(xiàn)在有一個(gè)數(shù)據(jù)處理任務(wù)的接口,在spring boot項(xiàng)目啟動(dòng)后,可以手動(dòng)的去啟動(dòng)任務(wù),但是這樣比較麻煩,每次項(xiàng)目重新運(yùn)行都要去通過swagger調(diào)用數(shù)據(jù)處理的接口.所以 現(xiàn)在想在項(xiàng)目啟動(dòng)后就是調(diào)用該方法

3. 解決思路

當(dāng)然spring給我們提供了方法:在SpringBoot中,有兩種接口方式實(shí)現(xiàn)啟動(dòng)執(zhí)行,分別是ApplicationRunner和CommandLineRunner,除了可接受參數(shù)不同,其他的基本一樣.網(wǎng)上有很多例子.就不多說了,作者選用的是實(shí)現(xiàn)CommandLineRunner接口,重寫了run 方法.

4. 例子

  • controller

這里我自定義一個(gè)Person類,并且定義了一個(gè)person.properties配置文件,讀取其中的值,配置如下:

  • person
  • person.properties

注意:這里涉及到幾個(gè)注解:

大家有問題可以學(xué)習(xí)下

  • 自定義類實(shí)現(xiàn)CommandLineRunner

5. 問題

這時(shí)候以為可以完美解決,但是出現(xiàn)了錯(cuò)誤:

竟然出現(xiàn)了空指針異常

6. 解決思路

我再run方法中new 了一個(gè)controller 層中的類:

HelloController helloController = new HelloController();

而這個(gè)類依賴其他類并且使用了@Autowired注入的Spring Bean.那這就不奇怪了,那這個(gè)錯(cuò)誤空指針就不為過了,因?yàn)槭褂玫氖莕ew而不是spring幫我們自動(dòng)注入的,那肯定會(huì)出現(xiàn)這個(gè)錯(cuò)誤,因此查看了Springboot中new出來的實(shí)例和@Autowired注入的區(qū)別:那肯定要換成@Autowired注解的方式,交給spring容器去管理.

其實(shí)從這個(gè)錯(cuò)誤中更加認(rèn)識(shí)到什么是spring容器了.

7. 解決方案

問題解決,項(xiàng)目啟動(dòng)時(shí)調(diào)用了getValue方法.沒有出現(xiàn)空指針異常.

總結(jié)

以上是生活随笔為你收集整理的项目启动时socket自动启动_spring boot 项目在启动时调用接口的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。