java / beginner
Snippet
Konstruktor-Injektion für lose Kopplung
Konstruktorbasierte Dependency Injection in Spring fördert Unveränderlichkeit mit final-Feldern und stellt sicher, dass erforderliche Objekt-Abhängigkeiten direkt bei der Instanziierung übergeben werden.
snippet.java
java
1
2
3
4
5
6
7
8
9
@Servicepublic class OrderService {private final PaymentProcessor paymentProcessor;public OrderService(PaymentProcessor paymentProcessor) {this.paymentProcessor = paymentProcessor;}}
spring
Erklärung
1
@Service
Kennzeichnet diese Klasse als vom Spring-Kontext verwaltete Service-Bean.
2
private final PaymentProcessor paymentProcessor;
Deklariert eine unveränderliche Abhängigkeitsreferenz, die nach der Objekterzeugung nicht mehr geändert werden kann.
3
public OrderService(PaymentProcessor paymentProcessor) {
Definiert den einzigen Konstruktor, in den Spring automatisch die passende PaymentProcessor-Bean injiziert.
4
this.paymentProcessor = paymentProcessor;
Weist die injizierte Bean-Instanz dem internen final-Feld zu.