У меня есть 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;
. . .
}