原文:https://www.cnblogs.com/Gyoung/articles/5457846.html
最近在代码中加了mvc资源的注册
<mvc:resources mapping="/assets/**" location="assets/"/>
而后因为时间问题,又加了spring转换器的bean
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> <property name="messageConverters"> <list> <ref bean="mappingFastJsonHttpMessageConverter"/> <!-- JSON转换器 --> </list> </property> <property name="webBindingInitializer"> <bean class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer"> <property name="conversionService" ref="conversionService" /> </bean> </property> </bean> <!--格式转换--> <bean id="conversionService" class="org.springframework.format.support.DefaultFormattingConversionService"/>
当日志格式为DEBUG的时候,看到了有报错
org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.util.ArrayList<?>] to type [java.util.List<org.springframework.core.io.Resource>] for value '[assets/]'; nested exception is org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [java.util.ArrayList<?>] to type [org.springframework.core.io.Resource] at org.springframework.core.convert.support.ConversionUtils.invokeConverter(ConversionUtils.java:41) at org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:192) at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:173) at org.springframework.beans.AbstractNestablePropertyAccessor.convertIfNecessary(AbstractNestablePropertyAccessor.java:576) at org.springframework.beans.AbstractNestablePropertyAccessor.convertForProperty(AbstractNestablePropertyAccessor.java:603) at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:204)
多次dubug后发现,如果有注册mvc:resources,同时配置文件中又有id为"conversionService"的bean,就会报错。
解决方法就是将conversionService的bean id修改了。很奇怪的问题。
修改成这样就ok了.
项目配置太老了,该换了