1

我将 Spring 3.1.x 和 CXF 2.6.1 用于 REST 服务。我使用 jaxbXmlProvider 如下所示。

<jaxrs:server ...
<jaxrs:providers>
   <ref bean="jaxbXmlProvider" />
</jaxrs:providers>
...
</jaxrs:server>


<bean id="jaxbXmlProvider" class="org.apache.cxf.jaxrs.provider.JAXBElementProvider">
     <property name="jaxbElementClassNames" ref="elements" /> 
</bean>


<util:list id="elements">
    <value>com.model.City</value>
    <value>com.model.Cities</value>
</util:list>

我想使用 jaxb2-marshaller 扫描包(com.model)中的所有 POJOS。任何使用帮助表示赞赏。

4

1 回答 1

2

您可以调用另一个提供类列表的 bean 的方法,例如:

<property name="jaxbElementClassNames" value="#{ myBean.classNamesFromPackage}"/>

配置以包名作为属性并具有 getClassNamesFromPackage 方法的 myBean:

<bean id="myBean" class="x.y.z.MyBean">
<property name="packageName" value="com.model" />
</bean>

在 MyBean 的 getClassNamesFromPackage 方法中,您可以使用如何从类路径中的 Java 包中读取所有类中建议的代码?.

于 2013-04-12T17:47:14.840 回答