스프링 csv 다운로드

이 예제 응용 프로그램에서는 직원 목록을 다운로드합니다. 따라서 아래와 같이 직원 데이터를 나타내기 위해 Employee 클래스를 구현해야 합니다. downloadDataInCsv() 메서드의 마지막 점은 형식이 CSV 파일이 아닌 경우 HTTP 코드 200을 아무 것도 반환하지 않는다는 것입니다. 나는 클라이언트가 그와 혼동 될 것이라고 생각합니다. 어쩌면 내가 전에 말했듯이 다른 메시지를 보내보십시오. (예: 현재 CSV 내보내기만 가능합니다.) 이 클래스는 main()이 있는 표준 클래스입니다. 스프링 설명서에서 @SpringBootApplication @Configuration, @EnableAutoConfiguration, @EnableWebMvc 및 @ComponentScan 포함하는 편리한 추가 입니다. 자바 8을 사용하여 MySQL에서 큰 결과 세트를 스트리밍 한 다음 큰 / 큰 CSV 파일로 데이터를 다운로드합니다. 데이터베이스에서 많은 양의 결과 집합을 가져오고 처리하는 MySQL은 간단하고 일반적으로 사용되는 접근 방식을 사용하여 종종 메모리 오류가 발생합니다. 이러한 라이브러리에서 제공하는 높은 수준의 추상화를 작업하는 JPA와 같은 ORM 또는 라이브러리를 사용하면 결과 집합이 상당히 큰 경우 OutOfMemory 오류가 발생할 가능성이 매우 높습니다. Java 8에서 Streams가 도입되면 메모리 풋 프린트를 최소화하면서 많은 양의 결과 집합을 가져오고 처리할 수 있습니다. Spring Boot 스타터는 응용 프로그램에 포함할 수 있는 편리한 종속성 설명자 집합입니다.

그들은 크게 메이븐 구성을 단순화. 스프링 부팅 시작-부모는 스프링 부팅 응용 프로그램에 대한 몇 가지 일반적인 구성을 제공합니다. 스프링 부트 스타터 웹은 스프링 MVC를 사용하는 RESTful 응용 프로그램을 포함하여 웹을 구축하기위한 스타터입니다. Tomcat을 기본 임베디드 컨테이너로 사용합니다. 봄 부팅 스타터 – 데이터 jpa는 최대 절전 모드와 스프링 데이터 JPA를 사용하기위한 스타터입니다. 스프링은 또한 xlsx 파일을 만들기 위해 2 개의 다른 추상 클래스추록XlsxView 및 AbstractXlsxStreamingView를 제공합니다. 큰 엑셀 문서로 작업 할 때 스트리밍 xlsx보기를 사용하는 것이 유익합니다. 스트리밍 뷰는 메모리를 적게 사용하고 대규모 Excel 문서의 성능을 향상시킬 수 있습니다.

요즘, 다른 형식으로 데이터를 내보내는 (Csv, 엑셀, Pdf …) 모든 프로젝트의 대부분에서 매우 일반적인 요구 사항입니다. 이 문서에서는 스프링 부팅을 사용하여 Excel, PDF 및 CSV 뷰를 만드는 방법을 설명합니다. 제대로 구성하면 Spring 뷰 확인기는 모델 데이터에서 요청된 문서를 생성하여 다운로드를 위해 클라이언트로 보낼 수 있습니다. 전체 코드는 여기에서 찾을 수 있습니다. 나는 최근에 CSV 파일을 다운로드하는 기능을 구현하는 모듈에 근무했다. PersonList를 CSV 및 PDF 출력으로 변환하는 것을 처리하기 위해 두 개의 사용자 지정 HttpMessageConverters가 제공되었습니다. 반환된 다른 엔터티의 경우 여기에 설명된 즉시 사용 가능 HttpMessageConvertes 중 하나가 스프링에서 선택됩니다. 우리의 응용 프로그램은 CSV 형식으로 H2 데이터베이스에서 데이터를 반환 스프링 부팅 RESTful 응용 프로그램입니다. 이것은 스프링 부팅 RESTful 응용 프로그램에 대한 컨트롤러 클래스입니다.