Встречается на собеседованиях • сегодня

Какие знаешь способы реализации инверсии управления помимо Spring

В Java есть несколько способов реализовать IoC без Spring:

  1. Google Guice - легковесный DI-фреймворк:
java
Injector injector = Guice.createInjector(new AppModule());
MyService service = injector.getInstance(MyService.class);
  1. Dagger - компиляторный DI, популярен в Android:
java
@Component
interface AppComponent {
    MyService getService();
}

AppComponent component = DaggerAppComponent.create();

text

3. **CDI (Contexts and Dependency Injection)** - стандарт Java EE/Jakarta EE:
```java
@Inject
private MyService service;
  1. Ручная реализация через паттерны:
  • Фабричный метод
  • Service Locator
  • Dependency Lookup
  1. PicoContainer - минималистичный контейнер:
java
MutablePicoContainer pico = new DefaultPicoContainer();
pico.addComponent(MyService.class);
  1. HK2 - легковесный DI в GlassFish/Jersey.

Основные принципы везде схожи: контейнер управляет жизненным циклом объектов и их зависимостями.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы