如何在StaxEventItemReader中跳过bean转换?

时间:2018-05-07 15:02:27

标签: java spring spring-batch

我想使用spring-batch来处理xml文件。 已经有StaxEventItemReader用于解析。

问题:读者需要为xml中的每条记录创建一个Bean对象。

来自的例子 https://github.com/pkainulainen/spring-batch-examples/blob/master/spring-boot/src/main/java/net/petrikainulainen/springbatch/xml/in/XmlFileToDatabaseJobConfig.java

    @Bean
    ItemReader<StudentDTO> xmlFileItemReader(Environment environment) {
        StaxEventItemReader<StudentDTO> xmlFileReader = new StaxEventItemReader<>();
        xmlFileReader.setResource(new ClassPathResource(environment.getRequiredProperty(PROPERTY_XML_SOURCE_FILE_PATH)));
        xmlFileReader.setFragmentRootElementName("student");

        Jaxb2Marshaller studentMarshaller = new Jaxb2Marshaller();
        studentMarshaller.setClassesToBeBound(StudentDTO.class);

        xmlFileReader.setUnmarshaller(studentMarshaller);
        return xmlFileReader;
    }

问题:如何告诉读者解析bean,只是从每条记录输出一个平面csv,而不必事先转换为bean?

关于这个例子,我想跳过StudentDTO个对象的创建,只是从阅读器中获取普通值,例如csv或list。

0 个答案:

没有答案