首页 > 其他分享 >Spingboot替换掉jar包里面的@Bean

Spingboot替换掉jar包里面的@Bean

时间:2024-02-05 14:47:30浏览次数:32  
标签:包中 Spingboot jar bean Bean 替换

问题

如下图,我们需要替换掉JsoncCfg配置类里面的YCloudObjectMapper这个Bean。

这个Bean是在依赖的第三方jar包中的,因为用了@Bean而不是像@Component这种组件扫描添加的,所以不能使用@ComponentScan注解进行排除。
现在不能修改jar包里的代码,不能在我们的项目中重新定义那个bean(Bean重名的话项目启动会报错), 有什么办法实现呢?

解决方案

1.先在项目中配置一个相同类型的Bean,但是名字不能和jar包中已有的Bean重复。

2.再写一个实现了BeanDefinitionRegistryPostProcessor接口的Bean,在重写的方法里面自己把原来的bean定义替换成新的

标签:包中,Spingboot,jar,bean,Bean,替换
From: https://www.cnblogs.com/shionsun/p/18007938

相关文章

  • springboot之ImportBeanDefinitionRegistrar动态注入
    SpringBoot中的使用在SpringBoot内置容器的相关自动配置中有一个ServletWebServerFactoryAutoConfiguration类。该类的部分代码如下:@Configuration(proxyBeanMethods=false)@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE)@ConditionalOnClass(ServletRequest.class)@Con......
  • 在idea打包普通项目jar包(入门级含依赖)
    在idea打包普通项目(含依赖)准备一个Mian主方法和数学工具类用来测试,还有一个演示用的依赖jar包第一步选择file下的projectstructure第二步选择具有依赖的打包方式 第三步选择要打包的模块和主函数第四步添加项目依赖的jar包最后点击apply第五步打包测试......
  • jmeter 使用 BeanShell PostProcessor 过程中遇到的一些问题记录
    关于jmeter中使用BeanShellPostProcessor遇到的一些问题记录:1、BeanShellPostProcessor的位置BeanShellPostProcessor要放在获取内容对应的线程的同一个层级,如:2、内容:例如:FileWriterfstream=newFileWriter("E:\aaskNodeId.csv");//,如果要建立文件并追加写入数据,需......
  • @bean 和@ component 区别 用法
     @bean里面没有component@Bean 和 @Component 都是 Spring 框架中用于定义和注册 bean 的注解,但它们的使用场景和方式有所不同。@Bean- @Bean 注解用在方法上,通常在配置类(带有 @Configuration 注解的类)中使用。- 它表示通过方法返回的对象应该被注册为 Spring......
  • JavaBean
    ......
  • 使用IDEA打jar包三种方式 步骤(包含跳过测试模式)
    使用IDEA打jar包三种方式步骤(包含跳过测试模式)正文:方式一:网络最常见的打包方式。比较适用于普通项目打JAR包。方式二:比较适用于MAVEN项目打JAR包。方式三:maven界面。方式一:网络最常见的打包方式。比较适用于普通项目打JAR包。选中菜单栏中File–>ProjectStructure(文件–>项......
  • IDEA编译生成可运行jar包 和 运行jar包报java.lang.NoClassDefFoundError错误,注意 MF
    IDEA编译生成可运行jar包和运行jar包报java.lang.NoClassDefFoundError错误,注意MF文件目录不要用默认目录,改成项目根目录运行环境:操作系统:ubuntu20.04javaversion:openjdkversion"11"2018-09-25OpenJDKRuntimeEnvironment18.9(build11+28)OpenJDK64-BitServer......
  • 海康私有SDK打包jar运行错误排除
    我在用idea编译后运行正常,但是我想打包成为jar包后出现了一系列问题,我一一列举1.ant不存在到官网下载ant解压后配置环境变量即可2.[javac]警告:[options]未与-source5一起设置引导类路径[javac]错误:不再支持源选项5。请使用6或更高版本。[javac]错误:不再支持......
  • The artifact mysql:mysql-connector-java:jar:8.0.33 has been relocated to com.mys
    Theartifactmysql:mysql-connector-java:jar:8.0.33hasbeenrelocatedtocom.mysql:mysql-connector-j:jar:8.0.33:MySQLConnector/Jartifactsmovedtoreverse-DNScompliantMaven2+coordinates.1.异常信息Theartifactmysql:mysql-connector-java:jar:8.0.33hasb......
  • linux服务器,启动服务jar包后,tail查看日志会卡主几分钟后,日志才加载出来,且访问接口很容
    首先:先排除服务器资源不足问题,看程序启动分配内存是否充足等问题原因:DNS配置异常导致的问题,程序运行时会去跑这些域名解析解决方法:/etc/resolv.conf中namespace配置注释,配置注释后,不用运行其他命令,会立即生效,重启服务,可以看到日志会立即返回,且调接口会快速返回,不容易超时......