ApplicationContext对象的获取

文章目录

  • 1、方式一:启动类的run方法
  • 2、方式二:自动注入
  • 3、方式三:实现ApplicationContextAware接口

ApplicationContext 代表 Spring IoC 容器,其中包含应用程序创建的所有 Bean。它负责实例化、配置和创建 Bean。

1、方式一:启动类的run方法

@SpringBootApplication
public class YourApplication{

	public static void main(String[] args){
	
		ConfigurableApplicationContext applicationContext = SpringApplication.run(YourApplication.class, args);
		
		applicationContext.getBean("xxx");
		
	}
	
}

2、方式二:自动注入

@Component  //!!!!
public class YourClass{
	
	@Resource
	private ApplicationContext applicationContext;
	
	public void doSome(){
		//使用上下文对象
		applicationContext.getBean........
	}
}

3、方式三:实现ApplicationContextAware接口

获取ApplicationContext对象,可以通过实现ApplicationContextAware接口:

@Component
public class YourClass{

	private ApplicationContext applicationContext;
	
	@Override
    public void setApplicationContext(ApplicationContext applicationContext){
        this.applicationContext = applicationContext;    //给当前类的applicationContext属性赋值
    }

	public void doSome(){
		//使用上下文对象
		applicationContext.getBean........
	}
}

也可封装成一个工具类:

@Component
public class MyIocUtils implements ApplicationContextAware {

    private static ApplicationContext applicationContext;
    
    @Override
    public void setApplicationContext(ApplicationContext applicationContext){
        this.applicationContext = applicationContext;    //给当前工具类的applicationContext属性赋值
    }
 
    public static ApplicationContext getApplicationContext(){
        return applicationContext;
    }
}

此后,在你需要使用上下文对象的地方直接:

MyIocUtils.getApplicationContext()

即可拿到上下文对象。


待续…遇到好的方法再继续整理。

你可能感兴趣的:(JavaDev,Java,SpringBoot)