본문 바로가기

AOP2

[Delivery] 반복되는 로직을 AOP로 분리하기 Delivery 프로젝트에 주문 관련 로직을 담당하는 OrderService 클래스가 있습니다. OrderService에서 제공하는 대표적인 메서드는 사용자에 따라 아래의 내용처럼 기능을 제공합니다. User (소비자) - 주문 요청 Owner (식당 주인) - 주문 받기 - 주문 거절 Rider (배달원) - 주문 배달 받기 - 주문 배달 완료 각각의 메서드는 Order Entity의 상태 값을 변경시켜줍니다. ORDER_REQUEST, ORDER_APPROVAL, IN_DELIVERY, DELIVERY_COMPLETE, ORDER_CANCEL, ORDER_REFUSED 저는 실시간으로 상태 값을 보여주고 또한 알림의 목적으로 Firestore를 도입하기로 했습니다. 아래 코드는 Firestore에 O.. 2021. 12. 31.
Spring AOP AOP란 Aspect Oriented Programming의 줄임말로 관점 지향 프로그래밍이란 뜻입니다. 쉽게 말하자면 핵심 로직과 부가 로직을 분리하는 것입니다. 핵심 로직이란 실제 처리하고자 하는 로직이고 부가 로직이란 핵심 로직의 위아래로 반복적으로 나타나는 로직을 뜻합니다. 대표적인 예로 Transaction을 볼 수 있습니다. 일반적으로 트랜잭션을 적용하기 위해 AutoCommit을 해제한 후 핵심 로직을 작성합니다. 그리고 마지막 부분에 핵심 로직이 정상적으로 수행이 되었다면 Commit, 그렇지 않다면 Rollback을 시킵니다. public void transactionFunc() throws SQLException { Connection connection = null; try { con.. 2021. 12. 2.