0 Tage Serie
java / intermediate
Snippet

Komponenten entkoppeln mit Application Events

Application Events fördern die lose Kopplung zwischen Komponenten. Anstatt einen E-Mail-Dienst direkt aus einem Registrierungsdienst aufzurufen, veröffentlichen Sie ein Event, das interessierte Listener unabhängig verarbeiten können.

snippet.java
java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public record UserRegisteredEvent(String email) {}
@Service
public class RegistrationService {
@Autowired private ApplicationEventPublisher publisher;
public void register(String email) {
// Registration logic...
publisher.publishEvent(new UserRegisteredEvent(email));
}
}
@Component
public class EmailListener {
@EventListener
public void handleUserRegistration(UserRegisteredEvent event) {
System.out.println("Sending welcome email to: " + event.email());
}
}
spring
Erklärung
1
ApplicationEventPublisher
Spring-Interface zum Senden von Events im gesamten Kontext.
2
publishEvent
Methode zum Versenden eines Objekts als Event an alle registrierten Listener.
3
@EventListener
Annotation, die eine Methode als Event-Handler für einen bestimmten Typ markiert.