bean在spring容器中的两种管理方式,spring中,可以将bean配置成具有内部bean的方式

  bean在spring容器中的两种管理方式,spring中,可以将bean配置成具有内部bean的方式

  00-1010 1.背景2。要求3。实施思路4。实施步骤1。模拟第三方jar包实现,并将其添加到Spring容器2中。自己提供一个实现3。替换jar包4的默认实现。测试一下。

  00-1010在开发过程中,我们经常会引入别人编写的jar包来实现某些功能。别人的jar包一般都是自动注入Spring容器的。假设其他人是通过@Bean或者@Component注入的,并且没有添加@ConditionalXXX之类的注释,就无法替代其他人的实现。假设这个时候我只想换掉他们,怎么做呢?

  

目录

 

  从上图可以看出,我们的需求是:

  使用我们自己定义的BananaProductService来替换框架自带的AppleProductService,并将其添加到Spring容器中,同时确保全局只有一个ProductService的实现。

  

一、背景

我们在系统中根据@Bean或者通过@Component定义的Bean对象在Spring中会被转换成BeanDefinition对象。如果在Spring创建这些对象并将其添加到Spring容器之前,我们删除不需要的BeanDefinition对象并添加我们自己想要的BeanDefinition对象,能否实现?而Spring提供的bean definition RegistryPostProcessor接口正好可以帮助我们实现这个功能。

 

  系统加载所有BeanDefinition对象后,bean definition registry postprocessor将回调。

  

二、需求

 

  

三、实现思路

 

  

四、实现步骤

 

  

1、模拟第三方jar包实现并加入Spring容器中

 

  

2、自己提供一个实现

 

  代码地址

  https://gitee.com/Huan 1993/spring-cloud-parent/tree/master/spring boot/spring boot-override-exists-bean

  这是Spring容器中现有Bean替换示例的细节。更多关于Spring Bean容器替换的信息,请关注popular IT的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • spring编程式事务处理,spring编程事务
  • spring编程式事务处理,spring编程事务,详解Spring学习之编程式事务管理
  • spring的核心功能模块有几个,列举一些重要的spring模块
  • spring的核心功能模块有几个,列举一些重要的spring模块,七个Spring核心模块详解
  • spring注解和springmvc的注解,SpringMVC常用注解
  • spring注解和springmvc的注解,SpringMVC常用注解,详解springmvc常用5种注解
  • spring实现ioc的四种方法,spring的ioc的三种实现方式
  • spring实现ioc的四种方法,spring的ioc的三种实现方式,简单实现Spring的IOC原理详解
  • spring事务失效问题分析及解决方案怎么做,spring 事务失效情况
  • spring事务失效问题分析及解决方案怎么做,spring 事务失效情况,Spring事务失效问题分析及解决方案
  • spring5.0新特性,spring4新特性
  • spring5.0新特性,spring4新特性,spring5新特性全面介绍
  • spring ioc以及aop原理,springmvc aop原理
  • spring ioc以及aop原理,springmvc aop原理,深入浅析Spring 的aop实现原理
  • Spring cloud网关,spring cloud zuul作用
  • 留言与评论(共有 条评论)
       
    验证码: