안녕세계
EventListener vs TransactionalEventListener 스프링 4.2 이상 버전에서 @EventListener와 @TransactionalEventListener 두 가지로 애플리케이션 이벤트를 수신할 수 있습니다. 두 어노테이션은 리스너 어노테이션이 설정된 메서드 인자의 이벤트 객체를 받아서 처리한다는 공통점이 있지만 약간의 차이 점이 존재합니다. 이번 포스팅에서는 두 어노테이션의 사용 방법과 차이 점을 살펴봅니다. 😊 EventListener 우선, EventListener는 애플리케이션에서 모든 타입의 이벤트를 수신하는 가장 단순한 방법입니다. EventListener는 트랜잭션에 참여하지 않으므로 트랜잭션 관련된 동작이 없으며 동기적으로 실행됩니다. 동기적으로 수행한다는 의..

SpringBoot 앱을 개발환경(Development/Production)을 나누어 배포하는 방법에 대해 알아봅니다 🤩 (본 포스팅에서는 SpringBoot + Gradle + Docker를 사용합니다.) 1. Spring Initializr에서 dependency로 Spring Web만 추가하여 Gradle Project를 생성합니다. 2. application.properties를 application.yaml 파일로 변경후 application-{profile}.yaml 형식의 파일을 생성합니다. (properties 파일을 선호하는 경우 변경하지 않아도 됩니다.) 3. application-dev.yaml과 application-prod.yaml 파일은 개발환경과 운영환경의 셋팅을 달리하기 위함..