Альтернатива @CSVbindbyname каждому для члена pojo - PullRequest
1 голос
/ 05 ноября 2019

У меня есть 100 полей в моем POJO. Мне нужно указать аннотацию @CSVbindbyname над каждым элементом данных pojo. Есть ли альтернатива этому? Спасибо за ваше время.

Кстати, это код, за которым я следую. https://www.logicbig.com/tutorials/spring-framework/spring-web-mvc/csv-msg-converter.html

protected void writeInternal(L t, HttpOutputMessage outputMessage)
        throws IOException, HttpMessageNotWritableException {
     HeaderColumnNameMappingStrategy<T> strategy = new HeaderColumnNameMappingStrategy<>();
     strategy.setType(toBeanType(t.getClass().getGenericSuperclass()));
      OutputStreamWriter outputStream = new OutputStreamWriter(outputMessage.getBody());
        @SuppressWarnings("rawtypes")
        StatefulBeanToCsv<T> beanToCsv =
                  new StatefulBeanToCsvBuilder(outputStream)
                            .withQuotechar(CSVWriter.NO_QUOTE_CHARACTER)
                            .withMappingStrategy(strategy)      
                            .withOrderedResults(true)
                            .build();
        try {
            beanToCsv.write(t.getList());
            outputStream.close();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
}

А вот и POJO:

public class Customer {

    @Id

    @CsvBindByName
    Long ID;

    @CsvBindByName
    String NAME;

    @CsvBindByName
    String EMAIL;

    . . .
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...