Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SpringMVC3与Hibernate4整合_Spring_Hibernate - Fatal编程技术网

SpringMVC3与Hibernate4整合

SpringMVC3与Hibernate4整合,spring,hibernate,Spring,Hibernate,说明: 建立一个基于SpringMVC的JavaEE项目 运行项目,工作良好 添加Hibernate4框架库支持 问题、异常 1) 在我将“dataSource”bean添加到SpringMVC配置文件之后,它在启动时总是抛出 ServletContext资源[/WEB-INF/dispatcher servlet.XML]中XML文档的第45行无效;嵌套异常为org.xml.sax.SAXParseException:cvc复杂类型。2.4.c:匹配的通配符是严格的,但找不到元素“tx:ann

说明:

  • 建立一个基于SpringMVC的JavaEE项目
  • 运行项目,工作良好
  • 添加Hibernate4框架库支持
  • 问题、异常

    1) 在我将“dataSource”bean添加到SpringMVC配置文件之后,它在启动时总是抛出

    ServletContext资源[/WEB-INF/dispatcher servlet.XML]中XML文档的第45行无效;嵌套异常为org.xml.sax.SAXParseException:cvc复杂类型。2.4.c:匹配的通配符是严格的,但找不到元素“tx:annotation-driven”的声明

    2) 我提到

    还是一样的错误

    SpringMVC配置XML文件

    
    

    问题:

    有人知道怎么解决这个问题吗?或者建议一些关于SpringMVC3.x与Hibernate4的集成教程

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                           http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
                           http://www.springframework.org/schema/mvc
                           http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
                           http://www.springframework.org/schema/tx
                           http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
       <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
        <property name="url" value="jdbc:sqlserver://localhost:1443;DatabaseName=beta_nl" />
        <property name="username" value="root" />
        <property name="password" value="12rekasQL" />
    </bean>
    
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <!--<property name="packagesToScan" value="com.vo" />-->
        <property name="dataSource" ref="dataSource"/>
        <property name="mappingLocations" value="classpath:com/vo/*.hbm.xml"/>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.SQLServer2008Dialect</prop>
                <prop key="hibernate.show_sql">true</prop>
            </props>
        </property>
    </bean>
    
    <tx:annotation-driven transaction-manager="transactionManager" />
    
    <bean id="transactionManager"
          class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    
    <mvc:resources mapping="/resources/**" location="/resources/" />
    <!--HandlerMapping-->
    <!--<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />-->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
    
    <!--HandlerAdapter-->
    <!--<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />-->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
    
    <!--ViewResolver -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/Views/" />
        <property name="suffix" value=".jsp" />
    </bean>
    
    <!--Controller -->
    <bean class="com.annotation.controllers.Test" />
    <bean class="com.annotation.controllers.LogicController" />
    
    
    org.hibernate.dialogue.sqlserver2008dialogue
    真的
    

    我认为是您没有将xsd添加到配置文件的开头。 下面是您将使用的xsd和定义。 xmlns:tx=”http://www.springframework.org/schema/tx" “。如果要使用tx annotation,还应配置事务管理器。

    我最近使用过,它的配置工作正常

    请发布完整的配置,以及名称空间大小等

    更新:请检查是否存在xsi命名空间声明

    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    

    <代码>这有助于理解Spring的配置。XSD是我没有经过的,我也声明了一个Exchange管理器,完整的配置已经更新了,但是……没有出现。我不知道为什么。@ USS183485。如果你使用Eclipse考虑切换到Spring Soad工具套件,它有内置的工具来编辑Na。Spring配置中的mespace。@user1837485您也缺少
    xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance“
    感谢您的编辑。事实上,我正在使用intellij IEDA创建那个项目,是不是我遗漏了一些JAR导致了这个问题?xml配置正确吗?@user1837485您有
    xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance“
    在您的xml配置中?
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"