Spring-сервисы applicationcontext.xml из другой банки

Быстрый вопрос. Можете ли вы ссылаться на классы Spring в applicationContext.xml, когда они находятся в другом банке, который использует ваше веб-приложение?

JAR (общая банка, содержащая все мои службы, daos и т. д.) находится в файле 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


person KS1    schedule 14.11.2012    source источник
comment
Как только вы сделаете то, что упомянул @combinatorics. Убедитесь, что файл jar находится в вашем пути к классам.   -  person MasterV    schedule 14.11.2012
comment
Спасибо за этот MasterV, он есть, и это сработало.   -  person KS1    schedule 15.11.2012


Ответы (1)


Вашему элементу bean нужен атрибут класса:

<bean id="myTestServiceImpl" class="com.myproject.common.test.impl.TestServiceImpl">
    <property name="genericDao" ref="genericDao" />
</bean>        

Атрибут id — это просто идентификатор для ссылки на компонент в другом месте в файлах компонентов. Атрибут class предоставляет имя класса, который представляет bean-компонент.

person combinatorics    schedule 14.11.2012
comment
О боже, я такая дура! Виновен в том, что копировал и вставлял из моего dao-context.xml и перезаписывал id=... class=... и превращал его в id=... - person KS1; 15.11.2012