SpringBoot如何在普通類加載Spring容器
前言
在我們的工作中,經(jīng)常會遇到需要在普通類中使用放在Spring容器中的類的情況。最常見的情況大概就是有一個類他的屬性的是通過spring的配置文件讀取的。這樣這個類必然要交給Spring容器進(jìn)行管理。這個時候如果我們在普通類中直接new這個類是不可以拿到的。屬性值不會加載成功。下面介紹一個方法。
實現(xiàn)
封裝一個beanutil
我們獲取spring容器中的類,都從這個工具類里面來獲取。
import org.springframework.context.ConfigurableApplicationContext; public class BeanUtil { public static ConfigurableApplicationContext applicationContext; public static <T> T getBean(Class<T> c){ return applicationContext.getBean(c); } }
在springboot啟動類里面對beanutil的容器進(jìn)行賦值
public class Application { public static void main(String[] args) { ConfigurableApplicationContext run = SpringApplication.run(InformationApplication.class, args); BeanUtil.applicationContext = run; } }
使用示例
我們獲取一個FileUploadUtil。
FileUploadUtil fileUploadUtil = BeanUtil.getBean(FileUploadUtil.class);
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JAVA面試題之緩存擊穿、緩存穿透、緩存雪崩的三者區(qū)別
當(dāng)服務(wù)器QPS比較高,并且對數(shù)據(jù)的實時性要求不高時,往往會接入緩存以達(dá)到快速Response、降低數(shù)據(jù)庫壓力的作用,常用來做緩存的中間件如Redis等。本文主要介紹了JAVA面試時??嫉木彺鎿舸?、穿透、雪崩場景三者區(qū)別,有興趣的小伙伴可以看一下2021-11-11Java中的抽象工廠模式_動力節(jié)點Java學(xué)院整理
抽象工廠模式是工廠方法模式的升級版本,他用來創(chuàng)建一組相關(guān)或者相互依賴的對象。下面通過本文給大家分享Java中的抽象工廠模式,感興趣的朋友一起看看吧2017-08-08Mybatis?Web中的數(shù)據(jù)庫操作方法舉例詳解
Mybatis是一款優(yōu)秀的持久化框架,用于簡化JDBC的開發(fā),下面這篇文章主要給大家介紹了關(guān)于Mybatis?Web中數(shù)據(jù)庫操作方法的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09Spring注解@RestControllerAdvice原理解析
這篇文章主要介紹了Spring注解@RestControllerAdvice原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-11-11深入理解Spring事務(wù)及傳播機制之原理解析與實際應(yīng)用
Spring事務(wù)管理機制提供了多種傳播行為,可以控制事務(wù)的范圍和隔離級別,保證數(shù)據(jù)一致性和完整性。在實際應(yīng)用中,需要根據(jù)具體業(yè)務(wù)場景選擇合適的傳播行為實現(xiàn)事務(wù)控制2023-04-04