我有一个用spring配置的jax-rsServlet。在beans.xml中,我有一个jax-rs-beans列表:
<jaxrs:server id="salesRest" address="/">
<jaxrs:serviceBeans>
<bean id="usersWS" class="co.my.package.UsersImpl" />
<bean id="authenticationWS" class="co.my.package.AuthenticationImpl" />
</jaxrs:serviceBeans>
...
<jaxrs:server>
我想要的是能够以编程方式获得这些bean的列表,例如从应用程序上下文。这可能吗?
在浏览jax-rs-jar后,我在JaxRsInInterceptor.class中发现了一些代码,这些代码为我指明了正确的方向:基本上,你可以从应用程序上下文中获得JaxRsServerFactoryBean(或注入它),然后:
List<ClassResourceInfo> cris = jaxrsServerFactoryBean.getServiceFactory().getClassResourceInfo();
为您提供所有服务bean的列表。