2014-03-27 51 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的定义范围的代理

相关问题