SpringBoot項目獲取ApplicationContext來GetBean的方法


一、簡介

  我們開發時,經常遇到有些實例需要動態創建,比如有構造函數的組件等。這時候,Spring時我們有ClassPathXmlApplicationContext,但是在Spring Boot時,我們怎么拿到ApplicationContext對像來調用它的GetBean方法呢?

 

二、方案

  1、方案一:直接注入

@Component
public class MyClass {

    @Autowired
    private ApplicationContext applicationContext;
}

 

  2、方案二:利用SpringBootApplication的run方法返回的Context,存到項目靜態變量中使用。

@SpringBootApplication
@EntityScan("com.dearcloud.domain.po")
@EnableJpaRepositories(basePackages = "com.dearcloud.repository")
@EnableDubbo
public class ApplicationServer {
    public static void main(String[] args) {
        //啟動WEB項目
        SpringApplication application = new SpringApplication(ApplicationServer.class);
        ConfigurableApplicationContext context = application.run(args);
        UserPoJpaRepository userPoJpaRepository = context.getBean(UserPoJpaRepository.class);
    }
}

 


免責聲明!

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



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