Java applicationContext.xml、设置Hibernate、Spring MVC和MySql存在问题

Java applicationContext.xml、设置Hibernate、Spring MVC和MySql存在问题,java,mysql,hibernate,spring-mvc,maven-2,Java,Mysql,Hibernate,Spring Mvc,Maven 2,我正在尝试用Maven安装SpringMVC3.0+Hibernate+MySql。 applicationContext.xml存在令人沮丧的问题。 DAO服务的控制器工作正常,只是我在设置Hibernate到MySql时遇到了问题 谷歌在网上搜索了很多东西,但不同的教程有不同的说明,所以我现在都搞砸了 applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.

我正在尝试用Maven安装SpringMVC3.0+Hibernate+MySql。 applicationContext.xml存在令人沮丧的问题。 DAO服务的控制器工作正常,只是我在设置Hibernate到MySql时遇到了问题

谷歌在网上搜索了很多东西,但不同的教程有不同的说明,所以我现在都搞砸了

applicationContext.xml

<?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:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/mvc 
        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
        http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

<context:component-scan base-package="com.ray.service.blog" />
<mvc:annotation-driven />

<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />

<bean id="blogDao" class="com.ray.service.blog.dao.BlogDao">
    <!-- <property name="sessionFactory" ref="sessionFactory"></property> -->
    <constructor-arg ref="sessionFactory" />
</bean>

<bean id="blogService" class="com.ray.service.blog.services.BlogService" />

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="configLocation">
        <value>classpath:hibernate.cfg.xml</value>
    </property>
    <property name="configurationClass">
        <value>org.hibernate.cfg.AnnotationConfiguration</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>

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/ray" />
    <property name="username" value="root" />
    <property name="password" value="root" />
</bean>

如果您需要更多信息,请告诉我。。。谢谢

您可能缺少的绑定

Hibernate在3.3.x中切换到slf4j


将列出的绑定之一添加到项目的classpath/pom.xml中,它应该可以工作

您可能缺少的绑定

Hibernate在3.3.x中切换到slf4j


将列出的绑定之一添加到项目的classpath/pom.xml中,它应该可以工作

要解决此错误,请将其添加到pom.xml中

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4j.version}</version>
    </dependency>

org.slf4j
slf4j-log4j12
${slf4j.version}
要改善您的连接,请尝试使用类似的方法

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/ray" />
    <property name="username" value="root" />
    <property name="password" value="root" />
</bean>

在pom.xml中,您需要添加

<dependency>
    <groupId>commons-dbcp</groupId>
    <artifactId>commons-dbcp</artifactId>
    <version>1.4</version>
</dependency>

公共dbcp
公共dbcp
1.4
在我们的项目中,我们通常使用这个定义或来自c3p0的定义

未来: 考虑添加以下属性以进行池连接< /P>
<property name="initialSize" value="${hibernate.initialSize}" />
<property name="minIdle" value="${hibernate.minIdle}" />
<property name="maxActive" value="${hibernate.maxActive}" />

并查看这个bean,将您的配置属性导出到专用文件中

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="ignoreUnresolvablePlaceholders" value="true"/>
        <property name="locations">
            <list>
                <value>classpath:hibernate_jdbc.properties</value>  
            </list>
        </property>
    </bean>

类路径:hibernate_jdbc.properties

要解决此错误,请将其添加到pom.xml中

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4j.version}</version>
    </dependency>

org.slf4j
slf4j-log4j12
${slf4j.version}
要改善您的连接,请尝试使用类似的方法

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/ray" />
    <property name="username" value="root" />
    <property name="password" value="root" />
</bean>

在pom.xml中,您需要添加

<dependency>
    <groupId>commons-dbcp</groupId>
    <artifactId>commons-dbcp</artifactId>
    <version>1.4</version>
</dependency>

公共dbcp
公共dbcp
1.4
在我们的项目中,我们通常使用这个定义或来自c3p0的定义

未来: 考虑添加以下属性以进行池连接< /P>
<property name="initialSize" value="${hibernate.initialSize}" />
<property name="minIdle" value="${hibernate.minIdle}" />
<property name="maxActive" value="${hibernate.maxActive}" />

并查看这个bean,将您的配置属性导出到专用文件中

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="ignoreUnresolvablePlaceholders" value="true"/>
        <property name="locations">
            <list>
                <value>classpath:hibernate_jdbc.properties</value>  
            </list>
        </property>
    </bean>

类路径:hibernate_jdbc.properties

看起来罪魁祸首是NoClassDefFoundError。org/slf4j/impl/StaticLoggerBinder。
您需要在类路径中包含适当的jar。您拥有的hibernate extract应该有一个slf4j jar。

看起来罪魁祸首是NoClassDefFoundError。org/slf4j/impl/StaticLoggerBinder。 您需要在类路径中包含适当的jar。您拥有的hibernate extract应该有一个slf4j jar