Обе аннотации имеют разные цели для использования.
@Autowired
: Это то же самое, что <bean="xyz" autowire="byType">
, который вы определяете в файле конфигурации.Ссылочная переменная (зависимость), аннотированная @Autowired, будет внедрена контейнером Spring, так как любой соответствующий @Bean найден в классе @Configuration.
Плюс классы, аннотированные @Component, @Service, @Repository, тоже рассматриваются какбины, поэтому их объекты вставляются в соответствующие зависимости.Контейнер Spring сканирует компоненты в классах, которые вы упомянули для "component-scan" или @ComponentScan ("xyz").
@Repository
: Это также аннотация Spring-Framework.Когда вы аннотируете класс @Repository, контейнер Spring понимает, что это класс DAO, и преобразует все непроверенные исключения (генерируемые из методов DAO) в Spring DataAccessException.Класс DAO - это класс, в котором вы пишете методы для выполнения операций над БД.