2014-11-10 7 views
5

Próbuję skonfigurować Hibernate 4 ze Spring 4, i mam napotkasz problemy podczas konfigurowania go. W szczególności, w moim pliku servlet-context.xml, poszedłem za przewodnika i dodaje następujące bloki kodu do tego pliku:cvc-complex-type.2.4.c: Pasujący symbol wieloznaczny jest ścisły, ale nie można znaleźć deklaracji dla elementu "bean" - problemy z konfiguracją Spring

<bean id="sessionFactory" 
    class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 
    <property name="dataSource" ref="dataSource" /> 
    <property name="configLocation"> 
     <value>/WEB-INF/hibernate.cfg.xml</value> 
    </property> 
    <property name="hibernateProperties"> 
    <props> 
     <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> 
     <prop key="hibernate.show_sql">true</prop> 
    </props> 
    </property> 
</bean> 

<tx:annotation-driven /> 
<bean id="transactionManager" 
class="org.springframework.orm.hibernate4.HibernateTransactionManager"> 
<property name="sessionFactory" ref="sessionFactory" /> 
</bean> 

Oba wyświetli się następujący błąd: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'bean'

Fabryka sesja fasoli wyświetla również ten błąd: Cannot locate BeanDefintionParser for element [bean]

Oto cała moja `servlet-context.xml” file (wyłączając te dwa bloki kodu przez wzgląd na zwięzłości, choć należy zauważyć, że w rzeczywistości są one w pliku):

<?xml version="1.0" encoding="UTF-8"?> 
<beans:beans xmlns="http://www.springframework.org/schema/mvc" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:beans="http://www.springframework.org/schema/beans" 
xmlns:context="http://www.springframework.org/schema/context" 
xmlns:tx="http://www.springframework.org/schema/tx" 
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd 
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd 
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd"> 

<!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure --> 

<!-- Enables the Spring MVC @Controller programming model --> 
<annotation-driven /> 

<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory --> 
<resources mapping="/resources/**" location="/resources/" /> 

<!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory --> 
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <!-- <beans:property name="prefix" value="/WEB-INF/views/" />--> 
    <!-- <beans:property name="suffix" value=".jsp" /> --> 
</beans:bean> 

<context:component-scan base-package="pear.pear.pear" /> 

</beans:beans> 

Jak mogę rozwiązać te problemy?

+0

Czy nie jest to tylko kwestia dodania przedrostka przestrzeni nazw: 'beans: bean'? –

+0

To było ... jakoś głupie! Dzięki. – Tylerlee12

Odpowiedz

6

Ustawiono domyślny obszar nazw dla tego pliku XML na mvc, więc należy przedrostkować swój element (beans:bean) lub zmienić domyślny obszar nazw na beans (zwykłe podejście).

Powiązane problemy