快速问题。你能在applicationContext.xml中引用Spring类吗,当它们在webApp使用的另一个jar中时?
JAR(一个包含我所有服务和daos等的通用jar)在WAR文件中,但是当我尝试通过applicationContext.xml引用服务时,我收到以下错误:
Error creating bean with name 'com.myproject.common.test.impl.TestServiceImpl' defined in ServletContext resource [/WEB-INF/context/spring-context.xml]: Instantiation of bean failed; nested exception is java.lang.IllegalStateException: No bean class specified on bean definition
(注意 spring-context.xml 导入到 applicationContext 中.xml没有错误。
我的上下文 XML:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id="com.myproject.common.test.impl.TestServiceImpl">
<property name="genericDao" ref="genericDao" />
</bean>
</beans>
我的应用包都在 com.myproject.web 下我的共同JARS都在com.myproect.common下
你的 bean 元素需要一个类属性:
<bean id="myTestServiceImpl" class="com.myproject.common.test.impl.TestServiceImpl">
<property name="genericDao" ref="genericDao" />
</bean>
id 属性只是在 Bean 文件中其他位置引用 Bean 的标识符。class 属性提供 Bean 所表示的类的名称。