<bean id="org.sakaiproject.vidyayug.tool.SakaiStyleSelectorInterceptor"
class="org.sakaiproject.vidyayug.tool.SakaiStyleSelectorInterceptor">
<property name="worksiteManager">
<ref bean="org.sakaiproject.metaobj.worksite.mgt.WorksiteManager"/>
</property>
</bean>
我从jar文件中注入ref bean .. 例外是:
Cannot resolve reference to bean 'org.sakaiproject.metaobj.worksite.mgt.WorksiteManager' while setting bean property 'worksiteManager';
nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'org.sakaiproject.metaobj.worksite.mgt.WorksiteManager' is defined
答案 0 :(得分:0)
您必须添加
<bean id="org.sakaiproject.metaobj.worksite.mgt.WorksiteManager" class="org.sakaiproject.metaobj.worksite.mgt.WorksiteManager"/>
在您的应用程序上下文中。
Bean ID和类名不是一回事,即使你给它们相同的值。
bean id应该是一个用来引用bean isntance的“方便”名称,而class是从classpath(jar或你的类文件夹或其他)加载bean的实际完全限定类名。 / p>
答案 1 :(得分:0)
这样做,给一个bean id,然后通过调用id来调用引用。
<bean id="Order" class="com.classes.OrderPizza">
<property name="pizzaTemp" ref="ChickenPizza"></property>
</bean>
<bean id="ChickenPizza" class="com.classes.ChickenPizza"></bean>
<bean id="PaneerPizza" class="com.classes.PaneerPizza"></bean>
答案 2 :(得分:0)
问题是您在没有实例化的情况下引用bean。以这种方式纠正您的代码:
<bean id="org.sakaiproject.vidyayug.tool.SakaiStyleSelectorInterceptor" class="org.sakaiproject.vidyayug.tool.SakaiStyleSelectorInterceptor">
<property name="worksiteManager">
<bean class="org.sakaiproject.metaobj.worksite.mgt.WorksiteManager"/>
</property>
</bean>
注意您还必须确保在项目二进制文件中部署了jar
。