到目前为止,我已经将xml和java配置混合得非常成功,但是有一个用例似乎不起作用。 我让spring使用组件扫描配置我的JAX-RS资源并正确解析它们:
<context:component-scan
base-package="<my packages>">
<context:include-filter type="annotation"
expression="javax.ws.rs.Path" />
...
但是如果我尝试在我的java配置中调用其中一个类:
HttpInvokerServiceExporter exp = new HttpInvokerServiceExporter();
exp.setService(context.getBean(Users.class));
我收到此错误: 没有定义[com.gecod.allianz.arco.web.restresources.Users]类型的唯一bean:期望的单个bean,但找到0:
一种解决方案可能是在xml或java配置中声明JAX-RS bean,但这种方式Resteasy不会将它们识别为JAX-RS资源。
我认为我有竞争条件,有任何提示吗?
答案 0 :(得分:0)
看看这是否效果更好
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd"> <context:annotation-config />
<context:component-scan base-package="com.blah.blah" />