最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring Boot中獲取IOC容器的多種方式

 更新時間:2025年09月22日 11:13:24   作者:生無謂  
本文主要介紹了Spring Boot中獲取IOC容器的多種方式,包括直接注入、實現(xiàn)ApplicationContextAware接口、通過SpringApplication.run()、借助BeanFactory及實現(xiàn)BeanFactoryAware接口,感興趣的可以了解一下

1. 直接注入ApplicationContext

@Service
public class MyService {
    
    @Autowired
    private ApplicationContext applicationContext;
    
    public void doSomething() {
        // 通過ApplicationContext獲取Bean
        UserService userService = applicationContext.getBean(UserService.class);
        // 或者通過名稱獲取
        UserService userService2 = (UserService) applicationContext.getBean("userService");
    }
}

2. 實現(xiàn)ApplicationContextAware接口

@Component
public class SpringContextUtil implements ApplicationContextAware {
    
    private static ApplicationContext applicationContext;
    
    @Override
    public void setApplicationContext(ApplicationContext context) throws BeansException {
        applicationContext = context;
    }
    
    public static ApplicationContext getApplicationContext() {
        return applicationContext;
    }
    
    public static <T> T getBean(Class<T> clazz) {
        return applicationContext.getBean(clazz);
    }
    
    public static <T> T getBean(String name, Class<T> clazz) {
        return applicationContext.getBean(name, clazz);
    }
    
    public static Object getBean(String name) {
        return applicationContext.getBean(name);
    }
}

3. 通過SpringApplication.run()獲取ApplicationContext

@SpringBootApplication
public class Application {
    
    public static void main(String[] args) {
        // 啟動應(yīng)用并獲取ApplicationContext
        ApplicationContext context = SpringApplication.run(Application.class, args);
        
        // 直接從context中獲取Bean
        UserService userService = context.getBean(UserService.class);
        userService.doSomething();
    }
}

4. 通過BeanFactory獲取

@Service
public class MyService {
    
    @Autowired
    private BeanFactory beanFactory;
    
    public void doSomething() {
        if (beanFactory.containsBean("userService")) {
            UserService userService = (UserService) beanFactory.getBean("userService");
            // 使用userService
        }
    }
}

5. 通過實現(xiàn)BeanFactoryAware接口

@Component
public class MyComponent implements BeanFactoryAware {
    
    private BeanFactory beanFactory;
    
    @Override
    public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
        this.beanFactory = beanFactory;
    }
    
    public void doSomething() {
        UserService userService = (UserService) beanFactory.getBean("userService");
        // 使用Bean
    }
}

到此這篇關(guān)于Spring Boot中獲取IOC容器的多種方式的文章就介紹到這了,更多相關(guān)SpringBoot 獲取IOC容器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文詳解Java項目中如何優(yōu)雅的使用枚舉類型

    一文詳解Java項目中如何優(yōu)雅的使用枚舉類型

    枚舉類型在開發(fā)中是很常見的,有非常多的應(yīng)用場景,這篇文章我們就來學(xué)習(xí)一下項目中如何優(yōu)雅的使用枚舉類型,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • Spring中Bean的生命周期使用解析

    Spring中Bean的生命周期使用解析

    這篇文章主要介紹了Spring中Bean的生命周期使用解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Java excel數(shù)據(jù)導(dǎo)入mysql的實現(xiàn)示例詳解

    Java excel數(shù)據(jù)導(dǎo)入mysql的實現(xiàn)示例詳解

    今天教大家如何使用Java將excel數(shù)據(jù)導(dǎo)入MySQL,文中有非常詳細的代碼示例,對正在學(xué)習(xí)java的小伙伴呢很有幫助,需要的朋友可以參考下
    2022-08-08
  • java使用servlet實現(xiàn)驗證碼

    java使用servlet實現(xiàn)驗證碼

    這篇文章主要介紹了java使用servlet實現(xiàn)驗證碼,簡單實用,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Spring入門實戰(zhàn)之Profile詳解

    Spring入門實戰(zhàn)之Profile詳解

    什么是spring profile?簡單講profile就是一組配置,不同profile提供不同組合的配置,程序運行時可以選擇使用哪些profile來適應(yīng)環(huán)境。下面這篇文章主要介紹了Spring中Profile實戰(zhàn)的相關(guān)資料,需要的朋友可以參考借鑒。
    2017-02-02
  • 如何解決mybatisplus報錯:getSqlFirst問題

    如何解決mybatisplus報錯:getSqlFirst問題

    這篇文章主要介紹了如何解決mybatisplus報錯:getSqlFirst問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • SpringBoot整合SpringTask實現(xiàn)定時任務(wù)的流程

    SpringBoot整合SpringTask實現(xiàn)定時任務(wù)的流程

    這篇文章主要介紹了SpringBoot整合SpringTask實現(xiàn)定時任務(wù)的流程,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • java中獲取類加載路徑和項目根路徑的5種方式分析

    java中獲取類加載路徑和項目根路徑的5種方式分析

    本篇文章介紹了,java中獲取類加載路徑和項目根路徑的5種方式分析。需要的朋友參考下
    2013-05-05
  • java虛擬機之JVM調(diào)優(yōu)詳解

    java虛擬機之JVM調(diào)優(yōu)詳解

    這篇文章主要介紹了java虛擬機之JVM調(diào)優(yōu)詳解,文中有非常詳細的代碼示例,對正在學(xué)習(xí)Java虛擬機的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • 推薦幾本學(xué)習(xí)java的書籍

    推薦幾本學(xué)習(xí)java的書籍

    本文給大家推薦了幾本學(xué)習(xí)Java的書籍,非常適合Java的初學(xué)者,有需要的朋友可以看看
    2014-10-10

最新評論

密云县| 和田市| 新巴尔虎右旗| 读书| 新野县| 江源县| 城固县| 津市市| 哈巴河县| 米林县| 阜城县| 黔西县| 宜章县| 和政县| 太和县| 罗山县| 三原县| 四子王旗| 昭平县| 兴安县| 阿克陶县| 弋阳县| 兰溪市| 岳普湖县| 新沂市| 渝北区| 宣威市| 武安市| 娄烦县| 乐陵市| 内乡县| 原阳县| 锡林郭勒盟| 安吉县| 达日县| 穆棱市| 甘泉县| 武定县| 隆昌县| 咸丰县| 孙吴县|