2014-03-27 78 views
2

我正在嘗試將一個bean注入使用Jersey實現的Rest資源。Rest,Jersey,Spring,IOC-AutowiredInjectResolver.getBeanFromSpringContext找不到豆類

我使用Spring來注入bean。

在沒有Spring的情況下,應用程序會加載tamcat,抱怨任何bean加載問題。

但是當我運行該應用程序時,Jersey本身給出了以下例外。

我使用的是澤西版2.4.1。

這裏是我的警告:

WARNING [http-nio-9090-exec-73] org.glassfish.jersey.se 
rver.spring.AutowiredInjectResolver.getBeanFromSpringContext No beans found. Res 
olution failed for type interface net.fxdms.dmb.abc.application.exInterface. 

我已經試過我怎麼能做到這一點的@Autowired/@Inject with @Service/@Component.

不同的組合?

回答

0

我面臨同樣的問題球衣2.6和Spring 3.1 這裏是AutowiredInjectResolver.getBeanFromSpringContext

private Object getBeanFromSpringContext(String beanName, Type beanType) { 
     Class<?> bt = getClassFromType(beanType); 
     if(beanName != null) { 
      return ctx.getBean(beanName, bt); 
     } 
     Map<String, ?> beans = ctx.getBeansOfType(bt); 
     if(beans == null || beans.size() != 1) { 
      LOGGER.warning(LocalizationMessages.NO_BEANS_FOUND_FOR_TYPE(beanType)); 
      return null; 
     } 
     return beans.values().iterator().next(); 
    } 

源在我的情況有兩種豆請求@Autowire類型。 Firstis實際上是我的豆,第二範圍是我的豆。

我bean定義就像

<bean id="apiUserService" class="uk.co.itrainconsulting.appbook.core.impl.service.APIUserServiceImpl"> 
    <aop:scoped-proxy /> 
    <property name="entityDAO" ref="apiUserManager" /> 
</bean> 

我通過去除AOP解決的問題:從bean的定義範圍的代理

相關問題