유튜브블로그Top 10
내 프로필

데브허브 안내
소개업데이트 소식

데브허브 커뮤니티

Spring의 EventListener 사용법

코딩하는오후

2025. 10. 19.

0

#backend
#db
  • 스프링 EventListener는 모듈 간 단방향 의존성 유지를 위한 모듈리스 아키텍처 구현에 핵심적으로 활용됩니다. 🏗️
  • 이벤트 사용은 비즈니스 도메인과 이력 관리 모듈 간의 양방향 참조를 방지하고, 향후 Kafka/RabbitMQ 같은 메시지 큐 연동에 유리합니다. 🔗
  • 이벤트 발행은 ApplicationEventPublisher를 통해 이루어지며, publishEvent() 메소드로 이벤트를 전달합니다. 📢
  • 이벤트 수신은 @EventListener 어노테이션이 붙은 메소드에서 담당하며, 특정 ChangeEvent를 구현하는 이벤트를 받습니다. 👂
  • ChangeEventCreatedEvent, ModifiedEvent, LookupEvent를 포함하는 봉인된 인터페이스(sealed interface)로 정의되어 이벤트 모델의 타입 안정성을 높입니다. 🛡️
  • ModifiedEventChangeFieldByFunction을 활용하여 변경된 필드의 이전 값과 새 값을 구분하여 처리합니다. 🔄
  • LookupEvent는 조회용 이벤트로, 이력 관리 리스너에서는 특별히 처리하지 않습니다. 🚫
  • 제네릭을 사용하여 이벤트의 타입 안정성을 강화하며, 특히 Entity 유형의 통합 데이터 컨테이너와 연동됩니다. 🧬
  • 주요 활용 사례는 비즈니스 도메인 변경 이벤트를 이력 관리 모듈의 리비전 테이블에 기록하는 것입니다. 📝

Recommanded Videos