#456 Устранение циклической зависимости в Spring

Компании:
Иннотех
Темы:
SpringОсновы SpringКод ревью

Решить проблему циклической зависимости:

@lombok.RequiredArgsConstructor
@org.springframework.stereotype.Controller
class LeController {

    private final AService a;

    @GetRequest("/")
    public String doGet() {
        a.foo2();
        return "ok";
    }
}

@lombok.RequiredArgsConstructor
@org.springframework.stereotype.Service
class AService {

    private final BService b;

    public void foo() {
        b.bar();
    }

    public void foo2() {
        // ...
    }
}

@lombok.RequiredArgsConstructor
@org.springframework.stereotype.Service
class BService {

    private final CService c;

    public void bar() {
        c.barK();
    }
}

@lombok.RequiredArgsConstructor
@org.springframework.stereotype.Service
class CService {

    private final AService a;

    public void barK() {
        a.foo2();
    }
}

Разбор вопроса

Ментор
Ответь как на реальном собеседовании. Я задам уточняющие вопросы, а затем сравню твой ответ с эталонным и покажу точность в %.
Войди, чтобы начать диалог Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти