我有一些遗留的Spring MVC代码与gwt代码混合在同一个工件中(使用maven构建),我无法让它运行。它需要运行时的验证提供程序,我不需要(因为我没有使用任何JSR-303验证注释)并且不想要CP(它可能与某些应用程序容器冲突,这些工件将部署在其中)
如何强制spring不进行任何JSR-303验证并摆脱运行时对验证提供程序的依赖?
由于GWT以某种方式使用它,PS工件在CP中具有validation-api PPS
似乎从Spring配置中删除<mvc:annotation-driven/>
修复此问题。
绑定和经典验证仍然有效(我启用了<context:annotation-config/>
)
答案 0 :(得分:7)
正如您已经发现的那样,<mvc:annotation-driven/>
设置了很多功能,包括JSR-303。相当于
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="order" value="0" />
</bean>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="webBindingInitializer">
<bean class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">
<property name="validator" ref="validator" />
</bean>
</property>
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter" />
<bean class="org.springframework.http.converter.StringHttpMessageConverter" />
<bean class="org.springframework.http.converter.FormHttpMessageConverter" />
<bean class="org.springframework.http.converter.xml.SourceHttpMessageConverter" />
</list>
</property>
</bean>
<bean id="validator"
class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />
<bean id="conversion-service"
class="org.springframework.format.support.FormattingConversionServiceFactoryBean" />
因此,您可以将标记替换为此xml配置并删除不需要的部分。