预先注入 bean 到 spring 容器

场景:将外部管理 bean(手动管理或在已有容器中)注入新容器中。

  • 创建 BeanDefinitionRegistryPostProcessor
  • 容器中的 bean 初始化前被调用
  • 参数 BeanDefinitionRegistry 强转为 DefaultSingletonBeanRegistry
  • 调用 registerSingleton() 方法
  • 注入 bean 的生命周期不被 spring 托管

运行时实例化原型 bean

参考:

场景:

  • 运行时创建原型 bean 的新实例。
  • 运行时创建 bean 。先将要创建的 bean 类型在 spring 中定义原型 bean 。

方法:

  • 使用 @Lookup 注解关联原型 bean.
  • 可传递创建 bean 实例的参数.