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); } }
宋兴柱:转载内容,请标明出处,谢谢!源文来自 宝贝云知识分享:https://www.dearcloud.cn