的暴露bean我正在创建一个将从jar文件使用类的战争。 现在这个jar文件在其associationApplicationContext.xml
中公开了一个bean,它在其某些属性上使用@Required注释进行初始化。无法使用使用RequiredAnnotationBeanPostProcessor
associationApplicationContext.xml
例如
<!-- processes @Required annotations-->
<bean class="org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor"/>
<!-- The client bean to access the association rest web service -->
<bean id="associationClient" class="com.springtest.client.AssociationClientImpl">
<property name="associationRestClient" ref="associationServiceRestClient" />
</bean>
所以AssociationClient
内的财产associationRestClient
有@Required
标签在其setter方法。现在
@Required
public void setAssociationRestClient(final AssociationRestClient associationRestClient) {
this.associationRestClient= associationRestClient;
}
,因为当我尝试在我的战争文件中使用这个bean -
我已经把JAR依赖于战争文件的pom.xml 已经把contextConfigLocation
在web.xml
为
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:/associationApplicationContext.xml
</param-value>
</context-param>
从WAR文件里的另一个applicationcontext.xml
文件中使用bean作为
<import resource="classpath:/associationApplicationContext.xml"/>
<bean id="requestHandlerV1"
class="com.springtest.application.RequestHandlerV1">
<property name="associationClient" ref="associationClient"></property>
</bean>
这里的物业associationClient
是没有得到初始化,因为它无法找到参考豆associationRestClient
这是associationServiceRestClient
我越来越
org.springframework.beans.factory.NoSuchBeanDefinitionException:无豆命名'associationServiceRestClient'被定义为
如何获得associationClient
的对象在这里初始化?
PS:我不能改变它采用@Required注释
在导入资源中,是不是类路径:/associationApplicationContext.xml.xml(.xml.xml)是一个错字? – Prasad
修改了它。但这仅仅是一个例子。我不能把原始文件。 – Vishal
您可以从web.xml中将applicationcontext.xml设置为servlet的配置参数吗? – Prasad