欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Springboot項(xiàng)目中如何讓非Spring管理的類獲得一個(gè)注入的Bean

 更新時(shí)間:2023年12月27日 09:58:47   作者:huangyaa729  
這篇文章主要介紹了Springboot項(xiàng)目中如何讓非Spring管理的類獲得一個(gè)注入的Bean問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Springboot讓非Spring管理的類獲得一個(gè)注入的Bean

由于業(yè)務(wù)需要,項(xiàng)目中集成了mqtt服務(wù),在mqtt連接中需要設(shè)置個(gè)回調(diào)類,這個(gè)回調(diào)類定義為一個(gè)普通類,不通過Spring管理,但是在回調(diào)類中又需要引入數(shù)據(jù)庫的操作,

采用通過注解引入的數(shù)據(jù)庫框架類服務(wù),顯然不能通過簡單的new Object() 來進(jìn)行調(diào)用,因此需要采用一種方式引入已經(jīng)注入的Bean:

通過各種嘗試以及驗(yàn)證,找到了一種可行的方案

如下所示:

聲明一個(gè)自定義的類

定義一個(gè)ApplicationContext對象 ,在需要操作的函數(shù)中,通過ApplicationContext對象引入注入的類即可:

public class MyTest{
  private static ApplicationContext applicationContext;

  public static void setApplicationContext(ApplicationContext context) {
    applicationContext = context;
  }
  
   public static void doSomething() {
    RestTemplate _restTemplate = applicationContext.getBean(RestTemplate.class);
    ........
  } 
}

在啟動(dòng)類中

得到ApplicationContext 對象,然后傳遞到自定義的類中,注意——只能在這個(gè)地方傳入,否則無法正確獲取ApplicationContext 對象;

@SpringBootApplication
public class Application{

  public static void main(String[] args) {
    final ApplicationContext applicationContext = 
                     SpringApplication.run(Application.class, args);
    MyTest.setApplicationContext(applicationContext);
  }
  
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java終止正在運(yùn)行的線程的三種方法

    Java終止正在運(yùn)行的線程的三種方法

    停止一個(gè)線程意味著在任務(wù)處理完任務(wù)之前停掉正在做的操作,也就是放棄當(dāng)前的操作,停止一個(gè)線程可以用Thread.stop()方法,但最好不要用它,本文給大家介紹了Java終止正在運(yùn)行的線程的三種方法,需要的朋友可以參考下
    2025-03-03
  • MyBatis使用注解開發(fā)和無主配置文件開發(fā)的情況

    MyBatis使用注解開發(fā)和無主配置文件開發(fā)的情況

    這篇文章主要介紹了MyBatis使用注解開發(fā)和無主配置文件開發(fā)的情況,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • java腳本使用不同版本jdk的說明介紹

    java腳本使用不同版本jdk的說明介紹

    本文介紹了在Java中執(zhí)行JavaScript腳本的幾種方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine適用于JDK8及以下版本,而Nashorn和GraalVM分別推薦在JDK8及以上和JDK11及以上使用,后者支持更多語言并性能更優(yōu)
    2025-01-01
  • Netty分布式ByteBuf使用subPage級別內(nèi)存分配剖析

    Netty分布式ByteBuf使用subPage級別內(nèi)存分配剖析

    這篇文章主要為大家介紹了Netty分布式ByteBuf使用subPage級別內(nèi)存分配剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • mybatis新增save結(jié)束后自動(dòng)返回主鍵id詳解

    mybatis新增save結(jié)束后自動(dòng)返回主鍵id詳解

    這篇文章主要介紹了mybatis新增save結(jié)束后自動(dòng)返回主鍵id詳解,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java中的CopyOnWriteArrayList解析

    Java中的CopyOnWriteArrayList解析

    這篇文章主要介紹了Java中的CopyOnWriteArrayList解析,ArrayList是非線程安全的,也就是說在多個(gè)線程下進(jìn)行讀寫,會(huì)出現(xiàn)異常,既然是非線程安全,那我們就使用一些機(jī)制把它變安全不就好了,需要的朋友可以參考下
    2023-12-12
  • SpringBoot集成整合JWT與Shiro流程詳解

    SpringBoot集成整合JWT與Shiro流程詳解

    安全管理是軟件系統(tǒng)必不可少的的功能。根據(jù)經(jīng)典的“墨菲定律”——凡是可能,總會(huì)發(fā)生。如果系統(tǒng)存在安全隱患,最終必然會(huì)出現(xiàn)問題,這篇文章主要介紹了SpringBoot集成JWT、Shiro框架的使用
    2022-12-12
  • Java的PriorityBlockingQueue優(yōu)先級阻塞隊(duì)列代碼實(shí)例

    Java的PriorityBlockingQueue優(yōu)先級阻塞隊(duì)列代碼實(shí)例

    這篇文章主要介紹了Java的PriorityBlockingQueue優(yōu)先級阻塞隊(duì)列代碼實(shí)例,PriorityBlockingQueue顧名思義是帶有優(yōu)先級的阻塞隊(duì)列,為了實(shí)現(xiàn)按優(yōu)先級彈出數(shù)據(jù),存入其中的對象必須實(shí)現(xiàn)comparable接口自定義排序方法,需要的朋友可以參考下
    2023-12-12
  • java的五種數(shù)據(jù)類型解析

    java的五種數(shù)據(jù)類型解析

    下面小編就為大家?guī)硪黄猨ava的五種數(shù)據(jù)類型解析。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-05-05
  • SpringMVC上傳文件的三種實(shí)現(xiàn)方式

    SpringMVC上傳文件的三種實(shí)現(xiàn)方式

    本篇文章主要介紹了SpringMVC上傳文件的三種實(shí)現(xiàn)方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-12-12

最新評論