본문 바로가기

스프링부트

[Spring] Feign으로 MultiPart 요청 보내기 [Spring] Feign으로 MultiPart 요청 보내기 예시 코드는 단순화된 코드입니다. 기 시작은 회사 공통 프레임워크의 버전 업그레이드였다. pom.xml에서 1.0.x를 1.0.y로 바꿔주기만 하면 될 줄 알았다. 그런데 메이븐 업데이트를 하고 나니 스프링이 안 뜬다. requestpart.value() was empty on parameter 0로그를 살펴보니 특정 업체 G랑 통신하는 FeignClient 객체를 생성하는 과정에서 오류가 발생했고, 위 같은 에러 메시지를 확인했다. 구글링을 해보니 정확히 일치하는 케이스가 없다. @FeignClient public interface GFeignClient extends MultiPartFeignClient { @RequestMapping(me.. 더보기
[Spring Boot] @Transactional 어노테이션의 롤백 테스트 [Spring Boot] @Transactional 어노테이션의 롤백 테스트 스프링의 @Transactional 어노테이션, 언제 커밋이 되고 롤백이 되는가. 중요한 것도 알고 개념도 알겠는데 와닿지가 않아서 직접 테스트 후 정리해봤다. Checked vs Unchecked Throwable Exception Checked Exception Unchecked Exception Error 이 포스팅의 목적은 @Transactional이 롤백 수행을 직접 확인해보기 위함이다. 따라서 익셉션의 종류에 대한 설명은 생략한다. 결론만 얘기하면 @Transactional로 묶인 메소드는 기본적으로 Unchecked Exception과 Error가 발생하면 DB 작업 내역을 롤백한다. 별도의 설정을 통해 롤백 기준을.. 더보기
[Spring Boot] IntelliJ IDEA에서 Spring Boot 프로젝트 생성 [Spring Boot] IntelliJ IDEA에서 Spring Boot 프로젝트 생성 가볍게 정리해두는 인텔리제이 스프링부트 프로젝트 생성 방법 STEP 1: 시작 화면 인텔리제이 열기 NEW PROJECT 버튼 클릭 STEP 2: Project SDK 세팅 좌측 탭에서 Spring Initializr 선택 Project SDK에서 원하는 버전 선택 Default 선택 후 NEXT 버튼 클릭 STEP 3: 프로젝트 세팅 Group Artifact Maven || Gradle 선택 Java || Kotlin || Groovy 선택 Jar || War 선택 [MEMO] Jar와 War의 차이 JAR: 스프링부트의 내장 톰캣을 이용 WAR: 외부 톰캣을 이용 STEP 4: Dependencies 세팅 필요.. 더보기
[Spring Boot] 스프링부트 어노테이션 정리 [Spring Boot] 스프링부트 어노테이션 정리 개인적 학습을 위한 스프링부트 어노테이션 정리 어노테이션이 포함된 최상위 패키지를 기준으로 분류 context @Bean 어노테이션이 붙은 클래스에서 리턴하는 객체를 Bean으로 등록한다. 사용되는 클래스에 @Configuration 어노테이션을 반드시 명시해줘야 한다. [MEMO] Bean은 스프링 IoC 컨테이너에 의해 인스턴스화, 관리, 생성되는 객체를 의미한다. @Configuration 해당 클래스에서 Bean을 생성함을 명시한다. 내부적으로 @Bean 어노테이션이 붙은 메소드를 사용한다. @Configuration public class SampleConfig { @Bean public SampleController sampleControll.. 더보기