1

我们正在使用弹簧码头进行休息。

我们注入上下文如下

@Context
private UriInfo uriInfo;

我们在许多服务中注入了 uri 信息。它对所有人都很好,除了一个它被注入为空的地方。

在分析日志后,我发现空注入类的类型被打印为代理对象,如下所示

Jan 18, 2013 4:32:07 PM com.sun.jersey.spi.spring.container.SpringComponentProviderFactory registerSpringBeans
INFO: Registering Spring bean, organizationProvisioningImpl, of type $Proxy53 as a root resource class 

对于成功注入的类,类型打印为类的名称。

必须是代理,这就是不注入上下文的原因。

该类的定义类似,但不知道为什么会这样。

任何有相同问题或知道该问题的人请指导我。

**添加到上面,代理对象是因为我在这个类方法上应用了AOP。希望这也可以帮助你们帮助我。

谢谢 。

4

1 回答 1

1
<aop:aspectj-autoproxy proxy-target-class="true"/>

这就是导致问题的原因。

早些时候我使用它是因为使用了 java 默认代理。当我将其更改为<aop:aspectj-autoproxy proxy-target-class="true"/>. 问题似乎解决了。

从经验来看,这似乎是因为 java 代理库在转换 CGLIB 代理库时解决了。

也许一些专家将能够对此发表更多评论。因为我还没有读过这些库。

但最终问题解决了。:)

于 2013-01-18T13:33:04.293 回答