/ / Є конфлікти автовласників ін'єкції залежностей навесні - ява, весна

Автоматизація конфліктів навесні залежностей ін'єкції - ява, весна

Я трохи заплутався з приводу автоматичної інженерії та ін'єкції в залежності від весни.

ін'єкція залежностей весни дозволяє видалитибудь-які конкретні залежності клас може мати інші класи або інтерфейси третіх сторін і завантажувати ці залежності в клас під час будівництва.

Але, використовуючи автономну анотацію, ми програмно пишемо ім'я інтерфейсу або ім'я класу в класі java, щоб вставити bean.

@Autowired
public final Interface object;

Хіба це не суперечить весняної залежностіін'єкції? Тому що якщо ми визначаємо bean в XML, ми можемо змінити його в будь-який час без зміни фактичного коду Java. Але за допомогою анотації потрібно змінити код java.

Відповіді:

0 для відповіді № 1

В залежності від ін'єкції весна вимагає принаймніконтракт (Java Interface) в класі, і ви можете динамічно перемикати реалізацію під час виконання за допомогою XML або анотації на основі Java. Навіть якщо це робиться за допомогою XML, нам потрібно надати інтерфейсу конструкторам, тому для автоматичного підключення компонента потрібна і змінна класу інтерфейсу.

Але, як ви сказали, ми розміщуємо анотацію на основі Javaпотрібно мати доступ до вихідного коду і це свого роду головний недолік з анотацією. Це також стосується АОП. Щоб зробити клас Aspect, потрібно мати доступ до вихідного коду.