说一说Spring 获取 ApplicationContext 的方法?

在 Spring 中,我们可以通过多种方式获取 ApplicationContext 对象。以下是一些常见的方法:

  1. 在普通类中:如果你的类是由 Spring 管理的,你可以通过 @Autowired 注解将 ApplicationContext 注入到你的类中。
    @Autowired
    private ApplicationContext context;
    
  2. 在 Spring MVC 控制器中:在 Spring MVC 控制器中,你可以通过实现 ApplicationContextAware 接口来获取 ApplicationContext。
    public class MyController implements ApplicationContextAware {
       private ApplicationContext context;
    
       @Override
       public void setApplicationContext(ApplicationContext applicationContext) {
           this.context = applicationContext;
       }
    }
    
  3. 在 Spring Boot 应用中:在 Spring Boot 应用中,你可以在 main 方法中保存 ApplicationContext 到一个静态变量中。
    public class Application {
       private static ApplicationContext context;
    
       public static void main(String[] args) {
           context = SpringApplication.run(Application.class, args);
       }
    }
    
  4. 在配置类中:在 Java 配置类中,你可以直接将 ApplicationContext 作为一个 @Bean 方法的参数。
    @Configuration
    public class AppConfig {
       @Bean
       public MyBean myBean(ApplicationContext context) {
           // ...
       }
    }
    

以上就是在不同场景中获取 ApplicationContext 的一些方法。获取到 ApplicationContext 后,你就可以使用它来获取、查询和操作 bean 了。

发表评论

后才能评论