본문 바로가기

H23

파일 업로드, 다운로드, 이미지 미리보기 구현(Spring boot With React) 들어가기  Spring boot로 프로젝트  도중 채팅방을 구현하면서 채팅 내용뿐만 아니라 파일을 업로드, 다운로드할 수 있도록 추가하려고 한다. 그러기 위해선 파일을 업로드 후 서버에서 파일을 보관하고, 다운로드 기능을 학습해야 한다. 이 글에선 간단한 프로젝트로 파일 업로드, 다운로드 기능을 Spring boot, React로 구현하는 과정을 담았다.HTTP를 통한 파일 업로드, 다운로드를 구현하였다. 업로드할 때는 MultiPartFile로 파일을 받고, 다운로드 시에는 byte[]와 같은 형태로 파일을 반환하도록 하였다.(또 다른 방법으로는 ResponseEntity가 있다고 하지만 이 글에서는 사용하지 않았다.)  java 17, spring boot는 3.2.3를 사용하였고 데이터베이스는 h2.. 2024. 5. 30.
Springboot 3.x.x 를 사용해보자 들어가기 최근 Springboot 프로젝트를 생성하기 위해 Spring.io(https://start.spring.io/)에서 다운을 받으려고 들어갔더니 아래와 같이 나왔다. Spring Boot의 버전과 Java 버전을 봐보자. Springboot는 3.x.x이고 Java는 최소가 17이다. 나는 Springboot 2.x.x 때 시작하였고 Java 버전은 항상 11 버전을 사용하였기에 어색한 모습이었다. 확인해 보니 Springboot 3.x.x는 22년 1월부터 정식 릴리즈 됐었고, 2.x.x 버전은 23년 11월까지 지원하는 것이었다. Springboot 프로젝트를 이전 버전으로 사용하려면 위의 방법으로 jar 파일로 다운로드하지 않고 gradle 혹은 maven에서 직접 하면 되기는 하지만, 계.. 2024. 1. 24.
springboot with mybatis - test 설정(인메모리 db: h2) springboot로 mybatis를 이용하여 실제 데이터를 기반으로test를 진행하고 있었다. 하지만 실제데이터로 진행하면 그때그때마다 상황이 달라지기 때문에 테스트 코드가 무조건 성공할 수는 없다. 그렇기에 테스트가 실행될 동안만 필요한 DB를 구현해야 했다. 바로 인메모리 DB를 말이다. 현 상황은 springboot로 mybatis를 사용중이고 flyway를 통해 DB마이그레이션을 하고 있다. Repository 테스트 코드를 작성하기 위해 인메모리 DB인 h2를 사용하려고 한다. 테스트 코드 내의 resources는 아래와 같다. application.yml의 내용은 아래와 같다. spring: datasource: driverClassName: org.h2.Driver password: pas.. 2023. 4. 5.