到目前爲止,我已經將xml和java配置混合在一起,並取得了非常好的成功,但有一個用例似乎不起作用。 我讓春天使用組件配置掃描我的JAX-RS資源和他們正確解析:Spring java配置沒有找到已經通過上下文創建的bean:component-scan
<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中聲明JAX-RS bean或java配置,但這種方式Reste asy不會將它們識別爲JAX-RS資源。
我想我有一個競賽條件,任何提示?
您正在使用哪個上下文進行查找工作得更好?有可能是錯誤的。 –
context = new ClassPathXmlApplicationContext(「spring-config.xml」); 請注意,context:component-scan位於該xml配置文件中。 謝謝 –
我剛剛嘗試過:它無法在web上下文中使用(該代碼片段來自測試用例代碼) –