Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Круговое внедрение компонентов - к чему это может привести? / 11 сообщений из 11, страница 1 из 1
13.07.2018, 15:52
    #39673785
fplab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Круговое внедрение компонентов - к чему это может привести?
Увидел в одном коде (Spring Boot) такое:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
@Component
public class AClass {
    // Внедряем BClass
    @Autowired
    private BClass bclass;
    private int refreshCounter;
    ...
    public int getRefreshCounter() {
        return refreshCounter;
    }

    // Вызываем метод из BClass (в котором вызывается метод из AClass)
    bclass.method();

@Component
public class BClass {
    // Внедряем AClass
    @Autowired
    private AClass aclass;
    ...

    public void method() {
        // Вызываем метод из AClass
        int c = aclass.getRefreshCounter();
    }



Чем такое взаимное "проникновение" может быть чревато?
...
Рейтинг: 0 / 0
13.07.2018, 15:54
    #39673787
Герой дня
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Круговое внедрение компонентов - к чему это может привести?
fplab,

интересно, это работает ?
...
Рейтинг: 0 / 0
13.07.2018, 15:56
    #39673790
fplab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Круговое внедрение компонентов - к чему это может привести?
Герой дня,

В том-то и дело, что да :)
Я, конечно, упростил донельзя (все повыкидывал и оставил самую суть), но работает
...
Рейтинг: 0 / 0
13.07.2018, 16:05
    #39673794
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Круговое внедрение компонентов - к чему это может привести?
"Цикличное", а не "круговое"
...
Рейтинг: 0 / 0
13.07.2018, 16:06
    #39673796
fplab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Круговое внедрение компонентов - к чему это может привести?
Blazkowicz"Цикличное", а не "круговое"
Согласен
...
Рейтинг: 0 / 0
13.07.2018, 16:32
    #39673810
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Круговое внедрение компонентов - к чему это может привести?
fplabBlazkowicz"Цикличное", а не "круговое"
Согласен
С правильной терминологией вам будет проще найти статьи объясняющие вред от цикличных зависимостей. Это к Spring не относится. Это в любой системе не очень хорошо.
...
Рейтинг: 0 / 0
13.07.2018, 16:35
    #39673812
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Круговое внедрение компонентов - к чему это может привести?
...
Рейтинг: 0 / 0
13.07.2018, 16:42
    #39673819
fplab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Круговое внедрение компонентов - к чему это может привести?
Blazkowicz,

То, что циклические зависимости не есть хорошо, я понимаю. Потому этот код меня и насторожил. За ссылку спасибо!
...
Рейтинг: 0 / 0
14.07.2018, 12:41
    #39673978
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Круговое внедрение компонентов - к чему это может привести?
Как они инициализируются? Чтобы создать A нужено сначала создать B, а для этого нужно сначала создать А?
...
Рейтинг: 0 / 0
14.07.2018, 14:10
    #39673999
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Круговое внедрение компонентов - к чему это может привести?
HettКак они инициализируются? Чтобы создать A нужено сначала создать B, а для этого нужно сначала создать А?

Прокси создеётся. А объект- при первом оращении. Так что если где-то объект уже используется в кострукторе- вся эта фигня может сломаться.
...
Рейтинг: 0 / 0
16.07.2018, 05:18
    #39674299
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Круговое внедрение компонентов - к чему это может привести?
fplabЧем такое взаимное "проникновение" может быть чревато?

В худшем случае переполнение стека, если возникнет рекурсия.
А так ничем. :-)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Круговое внедрение компонентов - к чему это может привести? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]