Spring 3.0 Отключить обработку аннотаций @Inject - PullRequest
1 голос
/ 06 октября 2011

Есть ли способ отключить обработку аннотаций @Inject для пружины 3.0?

Я пытаюсь использовать прицел CDI @Conversation вместе с пружиной, но когда дело доходит до

@Inject
private Conversation conversation;

весна пытается автоматически завязать разговор, который явно не удался.

Ответы [ 2 ]

2 голосов
/ 20 мая 2015

У меня возникла похожая проблема при попытке смешать аннотации Spring 3.x и CDI.

Я нашел способ отключить обработку Spring @Inject в компонентах, отличных от Spring; просто создайте фильтр исключения для классов, помеченных @Named:

@Configuration
@ComponentScan(excludeFilters = {@Filter(Named.class)})
public class SpringConfig
{
}

или отключить фильтры по умолчанию, например:

@Configuration
@ComponentScan(useDefaultFilters = false, includeFilters = {@Filter(Component.class)})
public class SpringConfig
{
}

Это работает, потому что Spring по умолчанию устанавливает фильтр включения для javax.inject.Named, чтобы активировать обработку JSR-330.

0 голосов
/ 06 октября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...