SpringBoot中在普通類里面加載Spring容器中的類


前言

在我們的工作中,經常會遇到需要在普通類中使用放在Spring容器中的類的情況。最常見的情況大概就是有一個類他的屬性的是通過spring的配置文件讀取的。這樣這個類必然要交給Spring容器進行管理。這個時候如果我們在普通類中直接new這個類是不可以拿到的。屬性值不會加載成功。下面介紹一個方法。

實現

封裝一個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的容器進行賦值

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM