Может ли Spring вставлять EJB-компоненты в аннотированные поля сервлета в веб-приложении Java SE? - PullRequest
0 голосов
/ 06 октября 2011

Spring поддерживает инъекцию javax.ejb.EJB annotations, так же, как он внедряет @Autowired и другие аннотации jsr-220, благодаря классу CommonAnnotationBeanPostProcessor.

Однако, инъекция не работает для сервлетов, так какSpringlet не создает сервлет.

В этой статье - Spring также внедряет сервлеты - не приводится пример использования сервлетов, но утверждается, что это возможно при использовании аспектов компиляции во время компиляции.К сожалению, ткачество во время компиляции для нас не вариант.Возможно ли это сделать во время выполнения?Можно добавить подкласс в сервлет, если это поможет, но я хочу сохранить аннотации EJB, чтобы сервлеты все еще могли быть развернуты в контейнере Java EE.

РЕДАКТИРОВАТЬ: приложение будет развернуто в контейнере Java EEв производстве, но я думал об использовании Spring для выполнения функциональных тестов и локального развертывания для разработки, чтобы воспользоваться преимуществами горячей загрузки JSP в Tomcat.

1 Ответ

1 голос
/ 13 октября 2017

Вам понадобится контейнер Java EE, как в Glassfish, который поддерживает внедрение EJB и имейте в виду, что внедрение работает на управляемые классы, такие как сервлеты, управляемые bean-компоненты ... и т. Д. (Классы, которые управляются контейнерами), поэтому для внедрения ejb в обычных классах вам потребуется вместо этого использовать поиски.

...