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 @   CyrusHuang  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2023-02-10 BigDecimal 比较、运算、精度
2023-02-10 日期
2023-02-10 不讲道理
2023-02-10 String 截取、分割、定位
点击右上角即可分享
微信分享提示