Есть ли разница между @Component и @Service

Какая разница между аннотациями @Component и @Service и между @Repository и @Service.

Вот что я знаю о них:

@Repository и @Service являются специализацией @Component.

@Repository нужно ставить над классом который работает с БД.

@Repository может проводить какую то работу с исключениями.

@Service ставим над классом который отвечает за бизнес логику.

Есть ли еще какая то разница между ними?


Ответы (2 шт):

Автор решения: red

@Repository оборачивает все исключения в DataException @Service и @Component одинаковы и не имеют разницы, только семантика различна.

Еще какой-либо разницы нет.

→ Ссылка
Автор решения: Morningstar-

Делается это с дальним прицелом на будущее. Вдруг в будущих версиях спринга появятся какие-то особые классы-обертки или доп. функционал для работы с сервисами. Так что, в ваших же интересах ставить правильные аннотации. Код будет логичен и удобочитаем.

→ Ссылка