2013-07-10 66 views
0

由於TokenInterceptor問題(無法確認雙提交的令牌問題),我已將Struts從版本2.3.4.1更新到版本2.3.15。爲什麼在升級Struts後從Spring接收到一個bean創建異常?

我已經在我的項目中使用Spring 3.1.1進行依賴注入。

更新Struts後,爲什麼會出現以下問題?

代碼:

Error building bean 
**org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.apache.struts2.interceptor.TokenSessionStoreInterceptor': Unsatisfied dependency expressed through bean property 'textProvider': : No unique bean of type [com.opensymphony.xwork2.TextProvider] is defined: expected single matching bean but found 78**: [... 

**Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [com.opensymphony.xwork2.TextProvider] is defined: expected single matching bean but found 78:** [... 

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.apache.struts2.interceptor.TokenSessionStoreInterceptor': Unsatisfied dependency expressed through bean property 'textProvider': : No unique bean of type [com.opensymphony.xwork2.TextProvider] is defined: expected single matching bean but found 78: ... 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1199) ~[spring-beans-3.1.1.RELEASE.jar:3.1.1.RELEASE] 
+0

您使用的春天依賴注入你的行爲? –

回答

0

這是因爲春天的自動佈線能力。 它無法準確找到要爲TextProvider注入哪個類,因爲struts庫中有兩種此對象。

只需在struts主要屬性文件(struts.properties)中將struts.objectFactory.spring.autoWire參數的值更改爲'name'即可。

struts.objectFactory.spring.autoWire=name 

我希望它爲ü工作;)

相關問題