gpt4 book ai didi

spring-boot - spring-boot 中的多种转换服务

转载 作者:行者123 更新时间:2023-12-03 14:10:55 25 4
gpt4 key购买 nike

我有一个启动应用程序,在我的一个外观中,我尝试 Autowiring conversionService像这样:

@Autowired
private ConversionService conversionService;

结果我得到了这个:
Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [org.springframework.core.convert.ConversionService] is defined: expected single matching bean but found 3: mvcConversionService,defaultConversionService,integrationConversionService
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1061)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:949)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:533)
... 16 more

为了克服这个问题,我添加了一个像这样的限定符:
@Autowired
@Qualifier("mvcConversionService")
private ConversionService c;

这一切都有效。但是,我所有的自定义转换器都会自动添加到 mvcConversionService .现在我想扩展 ConversionService并添加另一种方法,但是我的转换器再次添加到 mvcConversionService .有没有办法告诉 spring-boot 哪个 conversionService用于在那里自动注册我的转换器?我不想手动列出所有转换器到新 conversionService .

最佳答案

我遇到了类似的问题。问题似乎是您需要定义要使用的转换服务。您可以通过 XML 或使用 Spring Boot 配置来完成。

我在这里复制了一个非常 similar question 的部分答案(对我有用的那个)并将这个问题标记为可能重复。

A look into the Spring documentation reveals, that you should declare a ConversionService bean. In the XML configuration it would look like this:

<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="example.MyCustomConverter"/>
</set>
</property>
</bean>

关于spring-boot - spring-boot 中的多种转换服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28111599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com