记得导入dbcp和pool的jar包。


<?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:context="​​http://www.springframework.org/schema/context"​​​​

    xmlns:aop="​​http://www.springframework.org/schema/aop"​​​​

    xsi:schemaLocation="​​http://www.springframework.org/schema/beans​​​​

           ​​

​​ ​​​

           ​​

​​ ​​​

           ​​

​​ ​​​

           ​​

​​ ​​​

           ​​

​​> ​​

    <context:annotation-config />

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

    <!--

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

        <property name="username" value="root" />

        <property name="password" value="bjsxt" />

        </bean>

    -->

    <bean

        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

        <property name="locations">

            <value>classpath:jdbc.properties</value>

        </property>

    </bean>

    <bean id="dataSource" destroy-method="close"

        class="org.apache.commons.dbcp.BasicDataSource">

        <property name="driverClassName"

            value="${jdbc.driverClassName}" />

        <property name="url" value="${jdbc.url}" />

        <property name="username" value="${jdbc.username}" />

        <property name="password" value="${jdbc.password}" />

    </bean>

    <bean id="sessionFactory"

        class="org.springframework.orm.hibernate3.annotation.​Annotation​SessionFactoryBean"><!-- 使用注解 -->

        <property name="dataSource" ref="dataSource" />

        <!--

        <property name="annotatedClasses">

            <list>

                <value>com.bjsxt.model.User</value>

                <value>com.bjsxt.model.Log</value>

            </list>

        </property>

         -->

         <property name="packagesToScan"><!-- 可以自动扫描list中指定的包来加载实体类,不用一 一指明   -->

          <list>

                <value>com.bjsxt.model</value>


          </list>

        </property>


        <property name="hibernateProperties">

            <props>

                <prop key="hibernate.dialect">

                    org.hibernate.dialect.MySQLDialect

                </prop>

                <prop key="hibernate.show_sql">true</prop>

            </props>

        </property>

    </bean>

</beans>


jdbc.properties:

jdbc.driverClassName=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/spring

jdbc.username=root

jdbc.password=bjsxt



在类中可以通过注解进行注入。


package com.bjsxt.dao.impl;

import java.sql.SQLException;

import javax.annotation.Resource;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.springframework.stereotype.Component;

import com.bjsxt.dao.UserDAO;

import com.bjsxt.model.User;

@Component("u")

public class UserDAOImpl implements UserDAO {

    private SessionFactory sessionFactory;

    public SessionFactory getSessionFactory() {

        return sessionFactory;

    }


    @Resource

    public void setSessionFactory(SessionFactory sessionFactory) {

        this.sessionFactory = sessionFactory;

    }

    public void save(User user) {


        //Hibernate

        //JDBC

        //XML

        //NetWork

        System.out.println("session factory class:" + sessionFactory.getClass());

            Session s = sessionFactory.openSession();

            s.beginTransaction();

            s.save(user);

            s.getTransaction().commit();

        System.out.println("user saved!");

        //throw new RuntimeException("exeption!");

    }

}