SpringBoot bean 的注册与扩展

注册 bean

  • @Configuration + @Bean:配置类的 bean
  • @Component@Service@Repository@Controller:具有语义的 bean
  • @Import:三种方式,可以批量导入 bean
  • @ImportResource:导入一个 xml 配置文件中的 bean
  • FactoryBean<T> + @Component:工厂 bean 方式实现 bean 的注入
  • @EnableConfigurationProperties:用于 java 实体类与配置文件绑定,注入这个 java 对象
  • @Conditional:条件装配,派生了一系列相关注解,满足特定条件才注入 bean

具体详细使用及示例 看这里

扩展 bean

  1. BeanFactoryPostProcessor 接口的 BeanFactoryPostProcessor 方法:bean 工厂后置处理器,通过 Beanfactory 扩展 BeanDefinition 从而扩展 bean
  2. xxxAware :感知接口,让 bean 获得容器和环境相关的信息,扩展 bean
  3. BeanPostProcessor 接口的 postProcessBeforeInitializationpostProcessAfterInitialization :bean 初始化之前和之后执行
  4. @PostConstruct@PreDestroy:bean 初始化和销毁方法
  5. InitializingBean 接口 afterPropertiesSet 方法、DisposableBean 接口 destroy方法:bean 属性设置之后和销毁方法
  6. @Bean 注解的 initMethod 属性、@BeandestroyMethod 属性:bean 初始化和销毁方法

Spring 启动时,先获取所有的 bean 定义信息放入 容器的 beanFactory 属性中,然后根据 bean 定义信息反射创建 bean,并在不同节点执行对应的方法达到扩展 bean 的目的

Spring bean 生命周期

Spring bean Aware 感知接口

posted @ 2025-02-10 18:58  CyrusHuang  阅读(79)  评论(0)    收藏  举报