@Autowired анотація визначена у рамках весни.
@Injectанотація - це стандартна анотація, яка визначена в стандарті "Ін'єкція залежності для Java" (JSR-330) . Весна (починаючи з версії 3.0) підтримує узагальнену модель введення залежності, яка визначена в стандарті JSR-330. ( Рамки Google Guice та рамка Picocontainer також підтримують цю модель).
З @Injectможна вводити посилання на реалізацію Providerінтерфейсу, що дозволяє вводити відкладені посилання.
Анотації @Injectта @Autowired- майже повні аналогії. Крім @Autowiredанотації, @Injectанотація може використовуватися для властивостей, методів та конструкторів автоматичного зв’язування.
На відміну від @Autowiredанотації, @Injectанотація не має requiredатрибутів. Тому, якщо залежності не знайдеться - буде викинуто виняток.
Існують також відмінності в уточненнях властивостей зв’язування. Якщо у виборі компонентів для ін'єкцій є неоднозначність, @Namedслід додати кваліфікуючого. У аналогічній ситуації до @Autowiredанотації буде доданий @Qualifierкваліфікувач (JSR-330 визначає власну @Qualifierанотацію і за допомогою цього класифікатора @Namedвизначається анотація ).