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);
}
}
上一篇:Hadoop基础-常见异常剖析之防坑小技巧


下一篇:python第十六天,昨天来晚了,作业终于完成了