2009-10-15 105 views
1

使用@autowired。在xml中,我只需要包含spring @autowired

<context:annotation-config />

是否還有其他標籤需要放置?需要把組件掃描

怪異,我得到以下

ERROR - ContextLoader.initWebApplicationContext(203) | Context initialization fa 
iled 
org.springframework.beans.factory.BeanCreationException: Error creating bean wit 
h name 'org.springframework.context.annotation.internalRequiredAnnotationProcess 
or': Initialization of bean failed; nested exception is org.springframework.bean 
s.InvalidPropertyException: Invalid property 'order' of bean class [org.springfr 
amework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor]: No proper 
ty 'order' found 
Caused by: 
org.springframework.beans.InvalidPropertyException: Invalid property 'order' of 
bean class [org.springframework.beans.factory.annotation.RequiredAnnotationBeanP 
ostProcessor]: No property 'order' found 
     at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrap 
perImpl.java:376) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBean 
Factory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1105) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBean 
Factory.populateBean(AbstractAutowireCapableBeanFactory.java:861) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBean 

回答

2

在Spring 2.5中引入了<context:annotation-config />選項。在封面下,這將創建並配置一個RequiredAnnotationBeanPostProcessor,並使用order屬性。在Spring 2.0中,存在RequiredAnnotationBeanPostProcessor,但沒有order屬性。

我的猜測是你的類路徑中同時包含Spring 2.5和2.0。 2.5的副本將允許您使用<context:annotation-config />,但隨後它使用了2.036副本RequiredAnnotationBeanPostProcessor

+0

無論如何應該使用3.0.x。 – Tony 2011-09-01 14:48:59

1

錯誤這看起來像一個類路徑的問題。你是否混合了不同版本的Spring jars,或者你的類路徑中有多個RequiredAnnotationBeanPostProcessor類?

該類的早期版本(最高2.0.x)沒有訂單屬性。