CXF忽略了Spring bean配置

时间:2012-05-11 19:57:48

标签: java web-services spring cxf jax-rs

我有一个Web应用程序,它通过cxf jax-rs公开其余的Web服务。在我的应用程序上下文文件中,我有类似的东西:

    ...
<bean id="service" class="SomeClass">
    <constructor-arg index="0">
        <ref bean="bean1" />
    </constructor-arg>
    <constructor-arg index="1"
        value="some value" />

</bean>

<jaxrs:server id="restContainer" address="/">
    <jaxrs:serviceBeans>
        <ref bean="service" />
    </jaxrs:serviceBeans>
    <jaxrs:providers>
        <bean class="org.codehaus.jackson.jaxrs.JacksonJsonProvider" />
    </jaxrs:providers>
</jaxrs:server>
    ...

我的服务类中也有一个构造函数,它接受这两个参数并初始化服务。

当我部署我的应用程序时,spring上下文加载器正在正确创建服务bean,并且正在调用正确的构造函数。问题是第一个Rest请求何时开始服务。 Cxf Jax-rs正在通过“默认构造函数”创建自己的实例,我将丢失这两个属性。

如果我使用属性setter而不是构造函数args,则会发生同样的事情。当我研究cxf jax-rs时,没有一个例子有一个具有一些属性的服务!是否有这样的原因,或者这是cxf的一些实现约束?

有什么想法吗?

0 个答案:

没有答案