Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring:两个具有相同名称的不同bean_Spring_Spring Boot - Fatal编程技术网

Spring:两个具有相同名称的不同bean

Spring:两个具有相同名称的不同bean,spring,spring-boot,Spring,Spring Boot,两个不同名字的豆子给我带来了一个例外 异常消息: *************************** APPLICATION FAILED TO START *************************** Description: The bean 'tipusFonsSql', defined in class path resource [net/gencat/clt/arxius/connector/config/SqlGiacTxtResourceLoader.class

两个不同名字的豆子给我带来了一个例外

异常消息:

***************************
APPLICATION FAILED TO START
***************************

Description:

The bean 'tipusFonsSql', defined in class path resource [net/gencat/clt/arxius/connector/config/SqlGiacTxtResourceLoader.class], could not be registered. A bean with that name has already been defined in class path resource [net/gencat/clt/arxius/connector/config/SqlGiacImgResourceLoader.class] and overriding is disabled.
它告诉我class
SqlGiacTxtResourceLoader
和class
SqlGiacImgResourceLoader
定义了两个同名的bean

然而,它们是不同的。我的意思是:

进入
SqlGiacImgResourceLoader

@Bean
@GiacImg@TipusFonsQ
公共字符串tipusFonsSql(){
//...
}
进入
SqlGiacTxtResourceLoader

@Bean
@GiacTxt@TipusFonsQ
公共字符串tipusFonsSql(){
//...
}
如您所见,一个是带有
@GiacImg
注释的
“@aulified”
,另一个是ony by
@GiacTxt


有什么想法吗?

你得这样命名

@Bean(name = "GiacImg TipusFonsQ")
public String tipusFonsSql() {
    //...
}


为了避免bean冲突,有两种方法可以解决这个问题(哈哈,可能有很多,但我知道下面两种方法):------

第一种方法

更改bean名称:---

第二种方法

在application.properties中记下以下键:--


注意:-在您的情况下,您还可以更改方法名称

对于不同的bean,您不能有相同的id。所以这行不通。
@Bean(name = "GiacTxt TipusFonsQ")
public String tipusFonsSql() {
    //...
}
@Bean(name = "custome bean name")
spring.main.allow-bean-definition-overriding=true