Можно ли установить стиль жизни для введенного ресурса Java

#java #dependency-injection

#java #внедрение зависимостей

Вопрос:

Мой опыт работы с .NET, и я привык к возможности устанавливать стиль жизни (одноэлементный, постоянный …) для моих зависимостей, используя такие вещи, как Castle Windsor.

Недавно я перешел к проекту Java, где код использует @Resource для внедрения зависимостей. Я огляделся, но не могу найти способ указать стиль жизни. Существует ли концепция или я просто мусор с моим поиском?

Ответ №1:

Аннотация ресурса используется для получения управляемого контейнером ресурса (EJB, очереди JMS и т. Д.) Из JNDI, Поэтому я думаю, что у вас нет контроля над жизненным циклом и тем, что вы называете образом жизни.

Для некоторой мелкозернистой инъекции зависимостей компонентов приложения с использованием некоторой структуры CDI, такой как Spring или Weld (ссылка impl. для Java EE 6) — это путь.

Комментарии:

1. Спасибо. К сожалению, на данный момент я не могу переместить код для использования Spring CDI, поэтому буду помнить об этом в следующий раз.

Ответ №2:

Эта концепция образа жизни не существует в родной Java. Ближайшая концепция, о которой я могу думать, — это, вероятно, области прототипов / одноэлементных элементов Spring.

http://static.springsource.org/spring/docs/3.0.0.M3/spring-framework-reference/html/ch04s04.html

Ответ №3:

Используйте модуль внедрения зависимостей Spring. Подробно здесь