说一说Spring 获取 ApplicationContext 的方法?
在 Spring 中,我们可以通过多种方式获取 ApplicationContext 对象。以下是一些常见的方法:
- 在普通类中:如果你的类是由 Spring 管理的,你可以通过 @Autowired 注解将 ApplicationContext 注入到你的类中。
@Autowired private ApplicationContext context;
- 在 Spring MVC 控制器中:在 Spring MVC 控制器中,你可以通过实现 ApplicationContextAware 接口来获取 ApplicationContext。
public class MyController implements ApplicationContextAware { private ApplicationContext context; @Override public void setApplicationContext(ApplicationContext applicationContext) { this.context = applicationContext; } }
- 在 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); } }
- 在配置类中:在 Java 配置类中,你可以直接将 ApplicationContext 作为一个 @Bean 方法的参数。
@Configuration public class AppConfig { @Bean public MyBean myBean(ApplicationContext context) { // ... } }
以上就是在不同场景中获取 ApplicationContext 的一些方法。获取到 ApplicationContext 后,你就可以使用它来获取、查询和操作 bean 了。