1

Я пытаюсь понять Spring Framework больше того, что знаю в настоящее время, и я имею в виду книгу «Pro Spring 3».Контейнер Ioc: инъекция зависимостей, поиск зависимостей?

я наткнулся на следующий раздел в книге, как показано ниже:

enter image description here

Он говорит, что в целом IoC можно разложить на два компонента а именно: Dependency Injection и Dependency Lookup.

В отношении этого я следующие вопросы:

1) Предоставляете Spring как Dependency Injection, Dependency Lookup?

2) Все контейнеры Ioc имеют обе эти системы: Dependency Injection, Dependency Lookup?

3) Если пружина содержит как Dependency Injection, Dependency Lookup, то не стоит ли говорить, что Spring является основой DI, когда у нее есть обе эти возможности?

ответ

2

1: Да, весна обеспечивает как инъекцию зависимости, так и зависимость. Вы можете использовать зависимостей Spring, используя, например, аннотацию @Autowired, а также вы можете вручную искать компоненты из Spring ApplicationContext, вызвав один из методов getBean.

Главное, чтобы понять концепцию «инверсия управления» (IoC), заключается в том, что Spring делает для вас работу, а не наоборот: вы позволяете Spring создавать экземпляры ваших компонентов, а вы позволяете Spring вводить зависимостей, а не наоборот, где вы сами пишете код для создания экземпляров и зависимостей поиска.

2: Нет, не обязательно.

3: Весна может делать инъекцию зависимостей (DI), поэтому это каркас DI. Просто потому, что он также делает другие вещи (такие, которые позволяют вам явно искать компоненты), не превращают его уже не в структуру DI.

+0

Большое спасибо за вашу ценную информацию, очистил сомнения, которые у меня были. – CuriousMind