gpt4 book ai didi

spring - 在保留默认值的同时注册自定义转换服务?

转载 作者:行者123 更新时间:2023-12-04 15:35:16 25 4
gpt4 key购买 nike

在 spring-mvc 3.2.RELEASE 项目中,我想使用 org.springframework.data.repository.support.DomainClassConverter 轻松让我注入(inject)实体。

使用此配置时效果很好:

<beans:bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean" />

<beans:bean id="conversionService"
class="org.springframework.core.convert.support.DefaultConversionService" />

<beans:bean
class="org.springframework.data.repository.support.DomainClassConverter">
<beans:constructor-arg ref="conversionService" />
</beans:bean>

<annotation-driven conversion-service="conversionService" />

但是随后 Spring 没有加载用于处理 Joda 时间类型的格式化程序,并且我得到“无法将 java.lang.String 类型的属性值转换为所需的属性类型 org.joda.time.LocalDate”

仅使用
<annotation-driven/>

Joda 转换有效,但实体注入(inject)无效。

你如何把它连接起来,这样两者都可以工作?

最佳答案

不确定这是否回答了问题,但我遇到了类似的问题,这就是我解决它的方法。

我使用 documentation 实现了自定义转换器和转换服务

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

结果是@NA 所描述的 - 这失去了默认的 joda 时间支持,并且不相关 Controller 中的以下定义不再有效
@PathVariable(value="day") @DateTimeFormat(pattern=DATE_FORMAT) LocalDate date

解决方案不是使用 org.springframework.context.support.ConversionServiceFactoryBean ,我开始使用 org.springframework.format.support.FormattingConversionServiceFactoryBean .

关于spring - 在保留默认值的同时注册自定义转换服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13971279/

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