当前位置: 首页 > 知识库问答 >
问题:

带有Hibernate4的SpringMVC3整数

岑畅
2023-03-14

描述:

  1. 建立一个基于SpringMVC的JavaEE项目
  2. 运行该项目,效果良好。
  3. 添加Hibernate4框架库支持

问题,异常

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

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

2)我提到了匹配的通配符是严格的,但找不到元素“tx:annotation-driven”的声明

仍然是相同的错误。

SpringMVC configuration XML file

<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:1433;DatabaseName=test" />
    <property name="username" value="root" />
    <property name="password" value="123edkx" />
</bean>

<mvc:resources mapping="/resources/**" location="/resources/" />
<!--HandlerMapping-->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>

<!--HandlerAdapter-->
<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" />

问题:

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

<?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" />

共有2个答案

林烨烨
2023-03-14

我用过http://blog.springsource.org/2012/04/06/migrating-to-spring-3-1-and-hibernate-4-1/最近,它的配置工作正常。

请发布完整的配置,包括名称空间定义等。

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

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
朱岳
2023-03-14

我认为是你没有把xsd添加到配置文件的开头。下面是您将使用的xsd和定义。xmlns:tx = " http://www . spring framework . org/schema/tx " http://www.springframework.org/schema/tx http://www . spring framework . org/schema/tx/spring-tx-3.0 . xsd "。如果您想使用tx注释,您还应该配置一个事务管理器。

 类似资料:
  • 问题内容: 我正在尝试创建一个哈希表,如下所示: 但是我在int和byte上都收到一个错误,说“此令牌后应有尺寸”。 如果我使用类似: - 一切都很好。有人可以解释为什么吗? 谢谢。 问题答案: 在Java的核心集合类中,您只能存储引用类型(扩展java.lang.Object的对象)。您 不能 存储诸如和的基元。请注意,like数组不是原始数组,而是引用类型。 如@Giuseppe所述,您可以这

  • 问题内容: 更好写吗 要么 我认为第二个更好,应该更快并且更多的内存优化。但是他们不平等吗? 问题答案: 为了提高性能,通常最好使代码尽可能简单明了,并且通常会表现良好(因为JIT会最优化该代码)。就您而言,最简单的示例也可能是最快的。 我要么做 或更长的版本 要么 如果不需要,最好不要创建对象。 性能明智,第一是最好的。 如果您确定不会溢出,可以使用 您不会比这更快。

  • 问题内容: 给定以下示例: 输出为: 为什么? 问题答案: 这是因为前导零的整数文字是八进制整数(以8为底):

  • 我的项目是在Windows-SpringIDE-TomcatV8上进行的。0用于windows,MySql5。该项目还涉及java7、Tomcat7。我所有的课都是自动注释的。问题是,当我在Centos上部署project时,我有java8、Tomcat8和一个异常。请提出一些解决问题的建议。 以下是linux上的例外情况: 组织。springframework。豆。工厂BeanCreationE

  • 问题内容: 我有一个使用Spring3和Hibernate4的Web项目,现在我想在不使用xml文件的情况下测试DAO。为此,我创建了一个类,该类使用应用程序的xml文件中包含的数据和一个简单的测试类创建一个LocalSessionFactoryBean。 但是, localSessionFactoryBean.getObject() 返回的 sessionFactory 为null。我一直在寻找