春季转换服务类

时间:2014-03-19 18:01:26

标签: java spring spring-mvc spring-roo birt

我有一个名为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标签了?

2 个答案:

答案 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"/>