Skip to content

applicationContextAware

运行时根据某些条件动态选择依赖的 bean 时,通过 ApplicationContext 获取 bean 可以提供更大的灵活性。

ApplicationContextAware 是 Spring 提供的一个接口,用于让一个 Bean 获取 Spring 的 ApplicationContext 容器对象 。当你实现了这个接口并注册为 Spring Bean 后,Spring 会在容器启动时自动将 ApplicationContext 注入给你,从而可以在代码中使用它来获取其他 Bean 或操作容器。


🌱 使用场景

你可能会用 ApplicationContextAware 来:

  • 在非 Spring 管理的类中获取 Bean
  • 动态获取 Bean 实例
  • 做一些与容器相关的高级功能(如事件发布、自定义扫描等)

✅ 注意事项:

  • ApplicationContextAware 的实现类必须是 Spring 托管的 Bean(比如加上 @Component 注解)才能生效。
  • 不建议滥用,用于全局 Bean 获取或测试等情况还可以,但若大量使用可能意味着设计上有待优化。

setApplicationContext

当 Spring 容器初始化该 Bean 时,自动调用该方法,并把当前的 ApplicationContext 传进来