SpringMVC与Hibernate整合配置
Spring3.0
Hibernate3.0
web.xml
<?
xml version="1.0" encoding="UTF-8"
?>
< web-app version ="2.5"
xmlns ="http://java.sun.com/xml/ns/javaee"
xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation ="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" >
< filter >
< filter-name > characterEncodingFilter </ filter-name >
< filter-class > org.springframework.web.filter.CharacterEncodingFilter </ filter-class >
< init-param >
< param-name > encoding </ param-name >
< param-value > UTF-8 </ param-value >
</ init-param >
< init-param >
< param-name > forceEncoding </ param-name >
< param-value > true </ param-value >
</ init-param >
</ filter >
< filter-mapping >
< filter-name > characterEncodingFilter </ filter-name >
< url-pattern > /* </ url-pattern >
</ filter-mapping >
< filter >
< filter-name > openSessionInView </ filter-name >
< filter-class >
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</ filter-class >
</ filter >
< filter-mapping >
< filter-name > openSessionInView </ filter-name >
< url-pattern > /* </ url-pattern >
</ filter-mapping >
< servlet >
< servlet-name > springmvc </ servlet-name >
< servlet-class > org.springframework.web.servlet.DispatcherServlet </ servlet-class >
< load-on-startup > 1 </ load-on-startup >
</ servlet >
< servlet-mapping >
< servlet-name > springmvc </ servlet-name >
< url-pattern > / </ url-pattern >
</ servlet-mapping >
< listener >
< listener-class > org.springframework.web.context.ContextLoaderListener </ listener-class >
</ listener >
< context-param >
< param-name > contextConfigLocation </ param-name >
< param-value > classpath:applicationContext*.xml </ param-value >
</ context-param >
< welcome-file-list >
< welcome-file >login .jsp </ welcome-file >
</ welcome-file-list >
</ web-app >
< web-app version ="2.5"
xmlns ="http://java.sun.com/xml/ns/javaee"
xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation ="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" >
< filter >
< filter-name > characterEncodingFilter </ filter-name >
< filter-class > org.springframework.web.filter.CharacterEncodingFilter </ filter-class >
< init-param >
< param-name > encoding </ param-name >
< param-value > UTF-8 </ param-value >
</ init-param >
< init-param >
< param-name > forceEncoding </ param-name >
< param-value > true </ param-value >
</ init-param >
</ filter >
< filter-mapping >
< filter-name > characterEncodingFilter </ filter-name >
< url-pattern > /* </ url-pattern >
</ filter-mapping >
< filter >
< filter-name > openSessionInView </ filter-name >
< filter-class >
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</ filter-class >
</ filter >
< filter-mapping >
< filter-name > openSessionInView </ filter-name >
< url-pattern > /* </ url-pattern >
</ filter-mapping >
< servlet >
< servlet-name > springmvc </ servlet-name >
< servlet-class > org.springframework.web.servlet.DispatcherServlet </ servlet-class >
< load-on-startup > 1 </ load-on-startup >
</ servlet >
< servlet-mapping >
< servlet-name > springmvc </ servlet-name >
< url-pattern > / </ url-pattern >
</ servlet-mapping >
< listener >
< listener-class > org.springframework.web.context.ContextLoaderListener </ listener-class >
</ listener >
< context-param >
< param-name > contextConfigLocation </ param-name >
< param-value > classpath:applicationContext*.xml </ param-value >
</ context-param >
< welcome-file-list >
< welcome-file >login .jsp </ welcome-file >
</ welcome-file-list >
</ web-app >
appplicationContext.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"
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.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-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" default-autowire ="byName" >
< context:component-scan base-package ="com.archie" />
<!-- 数据源 -->
< bean id ="dataSource" class ="com.mchange.v2.c3p0.ComboPooledDataSource" >
< property name ="driverClass" value ="com.mysql.jdbc.Driver" />
< property name ="jdbcUrl" value ="jdbc:mysql:///book" />
< property name ="maxIdleTime" value ="25000" />
< property name ="properties" >
< props >
< prop key ="user" > root </ prop >
< prop key ="password" > root </ prop >
< prop key ="c3p0.acquire_increment" > 2 </ prop >
< prop key ="c3p0.max_size" > 20 </ prop >
< prop key ="c3p0.min_size" > 1 </ prop >
</ props >
</ property >
</ bean >
< bean id ="sessionFactory" class ="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" >
< property name ="dataSource" ref ="dataSource" ></ property >
< property name ="packagesToScan" value ="com.archie.model" ></ property >
< property name ="namingStrategy" >
< bean class ="org.hibernate.cfg.ImprovedNamingStrategy" />
</ property >
< property name ="hibernateProperties" >
< props >
< prop key ="hibernate.dialect" > org.hibernate.dialect.MySQLDialect </ prop >
< prop key ="hibernate.show_sql" > true </ prop >
< prop key ="hibernate.cache.provider_class" > org.hibernate.cache.EhCacheProvider </ prop >
< prop key ="hibernate.cache.provider_configuration_file_resource_path" > ehcache.xml </ prop >
</ props >
</ property >
</ bean >
<!-- 事务配置 -->
< bean id ="transactionManager" class ="org.springframework.orm.hibernate3.HibernateTransactionManager" >
< property name ="sessionFactory" ref ="sessionFactory" ></ property >
</ bean >
< tx:annotation-driven transaction-manager ="transactionManager" />
</ beans >
< 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"
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.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-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" default-autowire ="byName" >
< context:component-scan base-package ="com.archie" />
<!-- 数据源 -->
< bean id ="dataSource" class ="com.mchange.v2.c3p0.ComboPooledDataSource" >
< property name ="driverClass" value ="com.mysql.jdbc.Driver" />
< property name ="jdbcUrl" value ="jdbc:mysql:///book" />
< property name ="maxIdleTime" value ="25000" />
< property name ="properties" >
< props >
< prop key ="user" > root </ prop >
< prop key ="password" > root </ prop >
< prop key ="c3p0.acquire_increment" > 2 </ prop >
< prop key ="c3p0.max_size" > 20 </ prop >
< prop key ="c3p0.min_size" > 1 </ prop >
</ props >
</ property >
</ bean >
< bean id ="sessionFactory" class ="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" >
< property name ="dataSource" ref ="dataSource" ></ property >
< property name ="packagesToScan" value ="com.archie.model" ></ property >
< property name ="namingStrategy" >
< bean class ="org.hibernate.cfg.ImprovedNamingStrategy" />
</ property >
< property name ="hibernateProperties" >
< props >
< prop key ="hibernate.dialect" > org.hibernate.dialect.MySQLDialect </ prop >
< prop key ="hibernate.show_sql" > true </ prop >
< prop key ="hibernate.cache.provider_class" > org.hibernate.cache.EhCacheProvider </ prop >
< prop key ="hibernate.cache.provider_configuration_file_resource_path" > ehcache.xml </ prop >
</ props >
</ property >
</ bean >
<!-- 事务配置 -->
< bean id ="transactionManager" class ="org.springframework.orm.hibernate3.HibernateTransactionManager" >
< property name ="sessionFactory" ref ="sessionFactory" ></ property >
</ bean >
< tx:annotation-driven transaction-manager ="transactionManager" />
</ beans >