목록Spring/개인공부_이론 (16)
빙응의 공부 블로그

📝 스프링 트랜잭션 전파 속성 트랜잭션 전파 속성은트랜잭션이 진행중일 때 추가 트랜잭션 진행을 어떻게 하는지 결정하는 것입니다. 그렇다면 트랜잭션 전파 속성을 어떨 때 사용하는 것일까요? 아래 코드처럼 propagation을 통해서 설정할 수 있습니다. @Transactional public void acceptRequest(Long fromMemberId, Long toMemberId) @Transactional(propagation = Propagation.REQUIRES_NEW) public void acceptRequest(Long fromMemberId, Long toMemberId) 트랜잭션 전파 속성은 다른 메소드나 서비스 호출 시, 트랜잭션을 어떻게 다룰지..

📝1. OpenFeign이란?OpenFeign이란?Open Feign는 선언적인 HTTP Client 도구로써, 외부 API 호출을 쉽게할 수 있도록 도와줍니다.여기서 "선언적인" 이란 어노테이션 사용을 의미합니다. Open Feign은 인터페이스에 어노테이션들만 붙여주면 구현이 됩니다. 이러한 방식은 Spring Data JPA와 유사하다고 합니다.@FeignClient(name = "apiFeignClient", url = "https://apis.data.go.kr")public interface ApiFeignClient { @GetMapping("/1613000/RTMSDataSvcAptTrade/getRTMSDataSvcAptTrade") String getAptTradeData(..

[Spring]단위 테스트 정리하기 JUnit(1/3) (tistory.com)[Spring]단위 테스트 정리하기 Mockito (2/3) (tistory.com)📝실습할 코드 실습 코드는 현재 진행하는 프로젝트에서 가져왔고매우 어려운 부분을 가져왔습니다.. 해당 코드는 프로젝트에서 가져온 학교 인증 비즈니스 로직입니다. @Service@RequiredArgsConstructor@Slf4jpublic class UniversityVerificationService { private final JavaMailSender javaMailSender; private final UniversityVerificationRepository universityVerificationRepository; ..

[Spring]단위 테스트 정리하기 JUnit(1/2) (tistory.com) [Spring]단위 테스트 정리하기 JUnit(1/2)단위 테스트에 대해 다 까먹어서 다시 복습하는 겸 작성해보자 📝JUnit5JUnit5는 자바 단위 테스트를 위한 테스트 프레임워크이다.여기에 더해 AssertJ도 함께 사용하여 스프링에서 편하게 테스트quddnd.tistory.com 이번에는 Spring 기반의 웹 애플리케이션에서 테스트를 작성하는 법을 알아보자. 📝MockitoMockito??개발자가 동작을 직접 제어할 수 있는 가짜 객체를 지원하는 테스트 프레임워크이다. 실제로 Spring으로 웹 애플리케이션을 개발하면, 여러 객체들 간의 의존성이 생겨 단위 테스트 작성이 어렵다.이를 해결하기 위해 가짜 객체를 주..

단위 테스트에 대해 다 까먹어서 다시 복습하는 겸 작성해보자 📝JUnit5JUnit5는 자바 단위 테스트를 위한 테스트 프레임워크이다.여기에 더해 AssertJ도 함께 사용하여 스프링에서 편하게 테스트가 가능하다. 📌AssertJ ??// AssertJ를 사용한 AssertionassertThat(actualValue).isEqualTo("hello")AssertJ는 위 코드처럼 간단하고 가독성 좋은 코드를 지원한다. 📌[given/when/then 패턴]요즘 단위테스트는 거의 given-when-then 패턴으로 작성하는 추세이다.이 것은 단위 테스트를 3가지 단계로 나누어 처리하는 것으로 가독성을 향상시켜준다.given(준비): 어떠한 데이터가 준비되었을 때when(실행): 어떠한 함수를 실행하..

📝WebFlux웹플럭스란 적은 쓰레드로 동시 처리를 제어하고 적은 하드웨어 리소스로 확장하기 위해 만들어진반응형 웹 프레임워크이다.🚩 탄생계기그렇다면 스프링 웹플럭스는 왜 만들어졌을까? 사실 제일 큰 이유는 시대의 흐름에 따라 Spring MVC의 한계가 있었기 때문이다. 트래픽이 많아지면 스레드도 많이 사용스레드 풀에 따라 엄청난 성능 편차스레드 스위칭 비용도 발생그래서 Spring WebFlux는 한계를 극복했다. 또한 업그레이드까지 적은 쓰레드로 동시 처리를 제어적은 하드웨어 리소스로 확장논블로킹 웹 스택 방식반응형 프로그래밍 패러다임 적은 쓰레드로 동시 처리를 제어하기 위해전통적인 서블릿 기반의 동기식 처리 모델에서는 각 요청이 처리되는 동안 쓰레드가 블로킹된다.반면, WebFlux는 논 블로..