我有一个名为ApplicationConversionServiceFactoryBean
的类,它在webmvc-config.xml中配置为转换服务:
ApplicationConversionServiceFactoryBean
@RooConversionService
public class ApplicationConversionServiceFactoryBean extends FormattingConversionServiceFactoryBean {
@SuppressWarnings("deprecation")
@Override
protected void installFormatters(FormatterRegistry registry) {
super.installFormatters(registry);
// Register application converters and formatters
}
}
webmvc-config.xml
<mvc:annotation-driven conversion-service="applicationConversionService"/>
<bean class="com.palak.uauth.web.ApplicationConversionServiceFactoryBean" id="applicationConversionService"/>
我将Eclipse Birt与我的应用程序集成,这迫使我删除<mvc annotaion-driven />
行。
那么我该如何通过其他任何方式注册我的转换服务,那么,我再也没有那个mvc annotaion标签了?
答案 0 :(得分:2)
我建议解决根本原因,即BIRT与你的XML命名空间作斗争。检查确切的命名空间错误是什么并解决它,或者使用带有@Configuration
注释的@EnableWebMvc
类来配置Spring MVC。
您可以轻松地混合XML和Java配置,您只需要在XML文件中对您的@Configuration
类进行组件扫描。
答案 1 :(得分:1)
它的工作......这就是我所做的..
创建了一个名为MyMvcConvertor
MyMvcConvertor.java
@Configuration
@EnableWebMvc
@ComponentScan({"com.palak.uauth.web"})
public class MyMvcConvertor extends WebMvcConfigurationSupport{
@Bean
public FormattingConversionService mvcConversionService() {
FormattingConversionService conversionService = new ApplicationConversionServiceFactoryBean().getObject();
addFormatters(conversionService);
return conversionService;
}
}
在webmvc-config.xml中定义新的bean def
<bean class="com.palak.uauth.web.MyMvcConvertor" id="applicationConversionService"/>