Я прочитал несколько статей о разнице между @Service
и @Component
.Теперь я понимаю, что @Component
- это пользователь, который комментирует объект как компонент OSGi, и его жизненный цикл будет управляться OSGi.Тем не менее, какова необходимость объявления объекта как службы с @Service
, неизвестно.Что произойдет, если вы напишите свою бизнес-логику в объекте, который объявлен как компонент?
Я также хочу знать, что означает следующее утверждение:
Компоненты могут ссылаться / вызывать(используя внедрение контейнера - @Reference) другие сервисы, но не компоненты.Другими словами, компонент не может быть внедрен в другой компонент / сервис.Только сервисы могут быть внедрены в другой компонент.