В чём разница между @Component, @Service, @Repository, @Controller?

Junior
424 просмотров
AFK Offer AI

Все они помечают класс как Spring Bean и наследуют @Component. Разница семантическая: @Service — бизнес-логика, @Repository — доступ к данным (плюс автоматическая трансляция SQL-исключений в Spring DataAccessException), @Controller — web-контроллер. Технически они взаимозаменяемы, но правильные аннотации помогают читаемости, AOP-pointcut-ам и специальной обработке. @Component — для всего, что не подходит под остальные.

Следующий вопрос

Как работает garbage collector в Java?