码头弹簧 "No resource at X" 资源注释处理程序



我有一个运行良好的java web应用程序,但今天我尝试开始使用spring进行依赖项注入。该应用程序应该在Jetty Server上运行,但我遇到了这个问题。

当我尝试使用任何包含spring依赖项的servlet时,我会得到以下错误:

java.lang.IllegalStateException: No resource at valueService
    at org.eclipse.jetty.annotations.ResourceAnnotationHandler.handleMethod(ResourceAnnotationHandler.java:345)
    at org.eclipse.jetty.annotations.ResourceAnnotationHandler.doHandle(ResourceAnnotationHandler.java:66)
    at org.eclipse.jetty.annotations.AnnotationIntrospector$AbstractIntrospectableAnnotationHandler.handle(ResourceAnnotationHandler.java:345)

valueService是HttpServlet中第一个依赖项的名称,用spring注释如下:

@Resource(name="valueService")
protected ValueService valueService;

在我的应用程序上下文中定义为:

<bean id="valueService" class="com.nimbits.server.transaction.value.service.ValueServiceImpl" />

所以,jetty是开源的,所以当我查看jetty服务器ResourceAnnotationHandler.java:345中的代码时,它是这样做的:

else if (!Util.isEnvEntryType(paramType))
               {
                        //if this is an env-entry type resource and there is no value bound for it, it isn't
                        //an error, it just means that perhaps the code will use a default value instead
                        // JavaEE Spec. sec 5.4.1.3
                        throw new IllegalStateException("No resource at "+(mappedName==null?name:mappedName));
                    }

所以这是我的错误。问题:任何一个jetty专家都知道为什么jetty处理我的spring注释并抛出这个异常。有办法满足它吗?还是停止?

谢谢,真的卡住了。

Ben

@Resource(name="valueService")
protected ValueService valueService; 

让码头不满

切换到:

@Autowired
protected ValueService valueService; 

已解决

最新更新