스프링/스프링 핵심 원리 - 고급편

2. 예제 만들기

sdafdq 2024. 1. 5. 14:06
@Repository
@RequiredArgsConstructor
public class OrderRepositoryV0 {

    public void save(String itemId){
        if(itemId.equals("ex")){
            throw new IllegalStateException("예외 발생!!");
        }

        sleep(1000);
    }

    private void sleep(int millis) {
        try {
            Thread.sleep(millis);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
    }
}

단지 예시이다.

 

실용 코드로썬 의미가 없고, 

 

ex시에 예외를 뿜게 하는거고, 그 외엔 1초 기다렸다가 정상적으로 저장되었다는 일종의 가상 시뮬레이션일 뿐 이다.

 

@Service
@RequiredArgsConstructor
public class OrderServiceV0 {
    private final OrderRepositoryV0 orderRepository;

    public void orderItem(String itemId){
        orderRepository.save(itemId);
    }
}

 

@RestController
@RequiredArgsConstructor
public class OrderControllerV0 {
    private final OrderServiceV0 orderService;

    @GetMapping("/v0/request")
    public String request(@RequestParam("itemId") String itemId){
        orderService.orderItem(itemId);
        return "ok";
    }
}

 

'스프링 > 스프링 핵심 원리 - 고급편' 카테고리의 다른 글

6. V2 파라미터로 동기화  (0) 2024.01.14
5. 로그 추적기 적용  (0) 2024.01.14
4. 로그추적기 V1 프로토타입  (0) 2024.01.05
3. 요구사항 분석  (0) 2024.01.05
1. 강의 소개  (0) 2023.12.25