Cieľom je oboznámiť sa s problémom kruhovej závislosti. Dokumentácia je dostupná na docs.spring.io
Projekt demonštruje problém cyklickej závislosti.
Cyklická závislosť vzniká napríklad pri nasledujúcom kóde dvoch spring komponentov:
public class ServiceA {
private final String secret = "A";
private final ServiceB serviceB;
public String getSecret() {
return secret;
}
public String getCombinedSecrets() {
return secret + serviceB.getSecret();
}
}
public class ServiceB {
private final String secret = "B";
private final ServiceA serviceA;
public String getSecret() {
return secret;
}
public String getCombinedSecrets() {
return secret + serviceA.getSecret();
}
}
- Lazy loading závislosti
- Setter-based dependency injection
Maven build: mvn clean compile package