找不到元素'beans'的声明。

时间:2015-03-05 12:42:57

标签: java xml spring xsd

下面是我的sdnext-servlet.xml声明。我收到此错误

  

"找不到元素' bean'"

的声明

即使我在线。我使用的是Spring 3.0.1。

这是sdnext-servlet.xml:

<beans xmlns:context="http://www.springframework.org/schema/context"
    xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.springframework.org/schema/beans"
    xsi:schemalocation="  
http://www.springframework.org/schema/beans  
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
http://www.springframework.org/schema/context  
http://www.springframework.org/schema/context/spring-context-3.0.xsd  
http://www.springframework.org/schema/tx  
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

    <context:property-placeholder location="classpath:resources/database.properties">
    </context:property-placeholder>
    <context:component-scan base-package="com">
    </context:component-scan>

    <tx:annotation-driven transaction-manager="hibernateTransactionManager">
    </tx:annotation-driven>

    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver"
        id="jspViewResolver">
        <property name="viewClass"
            value="org.springframework.web.servlet.view.JstlView"></property>
        <property name="prefix" value="/WEB-INF/views/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>

    <bean class="org.springframework.jdbc.datasource.DriverManagerDataSource"
        id="dataSource">
        <property name="driverClassName" value="${database.driver}"></property>
        <property name="url" value="${database.url}"></property>
        <property name="username" value="${database.user}"></property>
        <property name="password" value="${database.password}"></property>
    </bean>

    <bean
        class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"
        id="sessionFactory">
        <property name="dataSource" ref="dataSource"></property>
        <property name="annotatedClasses">
            <list>
                <value>com.dto.Causer</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">${hibernate.dialect}</prop>
                <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
                <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}  </prop>
            </props>
        </property>
    </bean>

    <bean class="org.springframework.orm.hibernate3.HibernateTransactionManager"
        id="hibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>
</beans>  

1 个答案:

答案 0 :(得分:0)

这是schemaLocation,而不是schemalocation

修正错误后,关闭context:property-placeholder和其他一些类似的元素,而不是让他们的内容包含换行符。

这是您更新的有效XML:

<beans xmlns:context="http://www.springframework.org/schema/context"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns="http://www.springframework.org/schema/beans"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
                           http://www.springframework.org/schema/context
                           http://www.springframework.org/schema/context/spring-context-3.0.xsd  
                           http://www.springframework.org/schema/tx
                           http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

  <context:property-placeholder location="classpath:resources/database.properties"/>
  <context:component-scan base-package="com"/>

  <tx:annotation-driven transaction-manager="hibernateTransactionManager"/>

  <bean
      class="org.springframework.web.servlet.view.InternalResourceViewResolver"
      id="jspViewResolver">
    <property name="viewClass"
              value="org.springframework.web.servlet.view.JstlView"></property>
    <property name="prefix" value="/WEB-INF/views/"></property>
    <property name="suffix" value=".jsp"></property>
  </bean>

  <bean class="org.springframework.jdbc.datasource.DriverManagerDataSource"
        id="dataSource">
    <property name="driverClassName" value="${database.driver}"></property>
    <property name="url" value="${database.url}"></property>
    <property name="username" value="${database.user}"></property>
    <property name="password" value="${database.password}"></property>
  </bean>

  <bean
      class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"
      id="sessionFactory">
    <property name="dataSource" ref="dataSource"></property>
    <property name="annotatedClasses">
      <list>
        <value>com.dto.Causer</value>
      </list>
    </property>
    <property name="hibernateProperties">
      <props>
        <prop key="hibernate.dialect">${hibernate.dialect}</prop>
        <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
        <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}  </prop>
      </props>
    </property>
  </bean>

  <bean class="org.springframework.orm.hibernate3.HibernateTransactionManager"
        id="hibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"></property>
  </bean>
</beans>