java - bean - cdi spring



В чем разница между внедрением ресурсов и внедрением зависимостей(CDI) в Java? (3)

Некоторое время я изучал Java EE и обнаружил, что Java EE предоставляет два типа механизмов внедрения

  1. Внедрение ресурсов
  2. Внедрение зависимости

Пожалуйста, объясните мне разницу между внедрением ресурсов и внедрением зависимостей.

https://src-bin.com


Answer #1

Java EE предоставляет механизмы внедрения, которые позволяют нашим объектам получать ссылки на ресурсы и другие зависимости, не создавая их экземпляры напрямую (явно с ключевым словом 'new') Мы просто объявляем необходимые ресурсы и другие зависимости в наших классах, рисуя поля или методы с аннотациями, которые обозначают точку внедрения в компилятор.

Затем контейнер предоставляет необходимые экземпляры во время выполнения. Преимущество Injection заключается в том, что он упрощает наш код и отделяет его от реализаций его зависимостей.

Оба метода облегчают достижение инверсии контроля.

java.dzone.com/articles/resource-injection-vs


Answer #2

Из java.dzone.com/articles/resource-injection-vs :

Внедрение ресурсов позволяет внедрить любой ресурс, доступный в пространстве имен JNDI, в любой управляемый контейнером объект, такой как сервлет, корпоративный компонент или управляемый компонент. Например, мы можем использовать внедрение ресурсов для внедрения источников данных, соединителей или любых других требуемых ресурсов, доступных в пространстве имен JNDI.

Внедрение зависимостей позволяет нам превращать обычные классы Java в управляемые объекты и внедрять их в любой другой управляемый объект (объекты, которыми управляет контейнер).

Разница между внедрением ресурсов и внедрением зависимостей Различия между RI и DI перечислены ниже.

  1. Внедрение ресурсов может напрямую вводить ресурсы JNDI, а внедрение зависимостей - нет.

  2. Внедрение зависимостей может внедрять регулярные классы (управляемый компонент) напрямую, а внедрение ресурсов - нет.

  3. Внедрение ресурсов разрешается по имени ресурса, а внедрение зависимостей - по типу.

  4. Инъекция зависимостей безопасна, а инъекция Resoiurce - нет.






cdi