「springController」で定義されているコントローラで「applicationContext.xml」で定義されたBeanを使用できるようになりました。 xml "、私はこの種のエラーをスキップすることができます。spring-servlet.xmlのBeanがapplicationContext.xml内のBeanにアクセスできない理由
org.springframework.beans.factory.BeanCreationException: Error creating bean with name '/home' defined in ServletContext resource [/WEB-INF/mmapp-servlet.xml]: Cannot resolve reference to bean 'equipementService' while setting bean property 'equipementService'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'equipementService' is defined
applicationContext.xmlを
<?xml version="1.0" ?>
<!DOCTYPE beans PUBLIC
"-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean name="equipementService"
class="mmapp.service.SimpleEquipementService" />
<bean name="equipement1"
class="mmapp.domain.Equipement" />
</beans>
mmapp-servlet.xml私は専門家ではないと私は、これが問題になる可能性があるかどうかわからないんだけど、
<?xml version="1.0" ?>
<!DOCTYPE beans PUBLIC
"-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean name="/home" class="mmapp.web.HelloController">
<property name="equipementService" ref="equipementService" />
</bean>
</beans>
私のweb.xmlファイルには、リスナータグ 'ContextLoaderListener'しかありませんでしたが、今度はがあります。 コンテキストファイルには別の奇妙な問題があります。他のBeanで使用する前に常にBeanを宣言する必要があります。 –
elaich
はい、Beanを宣言する必要がありますが、これはSpringのアノテーションサポートを使用して非常に簡単に行うことができます。それをブートストラップする以外は明示的な設定が必要ない場合もあります。http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/ beans.html#beans-annotation-config –