SpringMVC+Spring+Hibernate整合

来源:互联网 发布:怎么开通淘宝账号 编辑:程序博客网 时间:2024/05/20 11:48

1.所需要jar包:



web.xml:

[html] view plaincopy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.5"   
  3.     xmlns="http://java.sun.com/xml/ns/javaee"   
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
  6.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  7.       
  8.       <!-- 配置DispatcherServlet -->  
  9.       <servlet>  
  10.         <servlet-name>commServlet</servlet-name>  
  11.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
  12.         <!-- 手动配置加载的配置文件 -->  
  13.         <init-param>  
  14.             <param-name>contextConfigLocation</param-name>  
  15.             <param-value>/WEB-INF/classes/spring/*.xml</param-value>  
  16.         </init-param>  
  17.         <!-- 项目启动时加载 -->  
  18.         <load-on-startup>1</load-on-startup>  
  19.       </servlet>  
  20.       
  21.       <!-- servlet映射 -->  
  22.       <servlet-mapping>  
  23.         <!-- 所有.do结尾的请求都由commServlet管理  -->  
  24.         <servlet-name>commServlet</servlet-name>  
  25.         <url-pattern>*.do</url-pattern>  
  26.       </servlet-mapping>  
  27.       
  28.       <!-- 配置编码过滤器 -->  
  29.       <filter>  
  30.         <filter-name>encodingFilter</filter-name>  
  31.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
  32.         <!-- 初始化参数,编码是UTF-8 -->  
  33.         <init-param>  
  34.             <param-name>encoding</param-name>  
  35.             <param-value>UTF-8</param-value>  
  36.         </init-param>  
  37.       </filter>  
  38.       
  39.       <!-- 过滤器映射 -->  
  40.       <filter-mapping>  
  41.         <filter-name>encodingFilter</filter-name>  
  42.         <url-pattern>/*</url-pattern>  
  43.       </filter-mapping>  
  44.       
  45.       <!-- 登录过滤 -->  
  46.       <filter>  
  47.         <filter-name>loginFilter</filter-name>  
  48.         <filter-class>com.cjh.filter.LoginFilter</filter-class>  
  49.       </filter>  
  50.         
  51.       <!-- 登录过滤映射 -->  
  52.       <filter-mapping><pre class="html" name="code"><?xml version="1.0" encoding="UTF-8" ?></pre><pre class="html" name="code"></pre><pre class="html" name="code"></pre><pre class="html" name="code"></pre>  
  53. <pre></pre>  
  54. <p></p>  
  55. <pre></pre>  
  56. <strong><span style="color:#ff0000">Spzzing MVC:</span></strong>  
  57. <p></p>  
  58. <p></p>  
  59. <pre class="html" name="code"><?xml version="1.0" encoding="UTF-8" ?>  
  60. <beans xmlns="http://www.springframework.org/schema/beans"  
  61.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  62.     xmlns:context="http://www.springframework.org/schema/context"  
  63.     xmlns:mvc="http://www.springframework.org/schema/mvc"  
  64.     xmlns:util="http://www.springframework.org/schema/util"  
  65.     xsi:schemaLocation="     
  66.           http://www.springframework.org/schema/beans     
  67.           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd     
  68.           http://www.springframework.org/schema/context     
  69.           http://www.springframework.org/schema/context/spring-context-3.0.xsd     
  70.           http://www.springframework.org/schema/mvc         
  71.           http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd     
  72.           http://www.springframework.org/schema/util      
  73.           http://www.springframework.org/schema/util/spring-util-3.0.xsd">  
  74.   
  75.   
  76.     <!-- ==================主键扫描,配置要扫描的Java类============================ -->  
  77.     <context:component-scan base-package="com.cjh" />  
  78.       
  79.       
  80.     <!-- ==================启动Spring MVC的注解功能,完成请求和注解POJO的映射,配置一个基于注解的定制的WebBindingInitializer,  
  81.     解决日期转换问题,方法级别的处理器映射============================ -->  
  82.     <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">  
  83.         <property name="cacheSeconds" value="0" />  
  84.         <!-- 配置一下对json数据的转换 -->  
  85.         <property name="messageConverters">  
  86.             <list>  
  87.                 <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>  
  88.             </list>  
  89.         </property>  
  90.     </bean>  
  91.       
  92.       
  93.     <!-- ==================定义一个视图解析类,基于ResourceView的解析器 ,此解析器是在url解析器上,  
  94.     加入了对jstl的支持============================ -->  
  95.     <bean  
  96.         class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
  97.         <!-- 前缀 -->  
  98.         <!-- <property name="prefix" value="/jsp/" /> -->  
  99.         <!-- 后缀 -->  
  100.         <property name="suffix" value=".jsp" />  
  101.   
  102.     </bean>  
  103.       
  104.   
  105.     <!-- ================== 处理文件上传 ============================ -->  
  106.     <bean id="multipartResolver"  
  107.         class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
  108.         <!-- 默认编码 (ISO-8859-1) -->  
  109.         <property name="defaultEncoding" value="utf-8" />  
  110.         <!-- 最大内存大小 (10240)-->  
  111.         <property name="maxInMemorySize" value="10240" />  
  112.         <!-- 上传后的临时目录名 (WebUtils#TEMP_DIR_CONTEXT_ATTRIBUTE) -->  
  113.         <property name="uploadTempDir" value="/upload_temp/" />  
  114.         <!-- 最大文件大小,-1为无限止(-1),注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和  -->  
  115.         <property name="maxUploadSize" value="-1" />  
  116.           
  117.     </bean>  
  118.   
  119.   
  120.     <!-- ================== SpringMVC在超出上传文件限制时,会抛出org.springframework.web.multipart.MaxUploadSizeExceededException  
  121.     该异常是SpringMVC在检查上传的文件信息时抛出来的,而且此时还没有进入到Controller方法中 ============================ -->  
  122.     <bean id="exceptionResolver"  
  123.         class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">  
  124.         <property name="exceptionMappings">  
  125.             <props>  
  126.                 <!-- 遇到MaxUploadSizeExceededException异常时,自动跳转到manage/view/fileError.jsp页面 -->  
  127.                 <prop  
  128.                     key="org.springframework.web.multipart.MaxUploadSizeExceededException">  
  129.                     manage/view/fileError  
  130.                 </prop>  
  131.             </props>  
  132.         </property>  
  133.     </bean>  
  134.   
  135. </beans></pre><strong><span style="color:#ff0000"><br>  
  136. Spring:</span></strong>  
  137. <p></p>  
  138. <p></p>  
  139. <pre class="html" name="code"><?xml version="1.0" encoding="UTF-8"?>  
  140. <beans xmlns="http://www.springframework.org/schema/beans"  
  141.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  142.     xmlns:context="http://www.springframework.org/schema/context"  
  143.     xmlns:aop="http://www.springframework.org/schema/aop"  
  144.     xmlns:tx="http://www.springframework.org/schema/tx"  
  145.     xsi:schemaLocation="http://www.springframework.org/schema/beans  
  146.                      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
  147.                      http://www.springframework.org/schema/context  
  148.                      http://www.springframework.org/schema/context/spring-context-3.0.xsd  
  149.                      http://www.springframework.org/schema/aop  
  150.                      http://www.springframework.org/schema/aop/spring-aop-3.0.xsd  
  151.                      http://www.springframework.org/schema/tx  
  152.                      http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">  
  153.                        
  154.                        
  155.     <!-- ===================使用 annotation============================== -->  
  156.     <context:annotation-config />  
  157.   
  158.   
  159.     <!-- ===================hibernate属性配置============================ -->  
  160.     <context:property-placeholder location="classpath:hibernate/hibernate.properties" />  
  161.   
  162.   
  163.     <!-- ===================C3P0 数据源配置=============================== -->  
  164.     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">  
  165.         <!-- 驱动 -->  
  166.         <property name="driverClass" value="${c3p0.driver_class}" />  
  167.         <!-- 数据库连接url -->  
  168.         <property name="jdbcUrl" value="${c3p0.url}" />  
  169.         <!-- 用户名 -->  
  170.         <property name="user" value="${c3p0.username}"/>  
  171.         <!-- 密码 -->  
  172.         <property name="password" value="${c3p0.password}"/>  
  173.         <!-- 设置数据库连接池的最大连接数 -->    
  174.         <property name="maxPoolSize" value="${c3p0.maxPoolSize}"/>    
  175.         <!-- 设置数据库连接池的最小连接数 -->    
  176.         <property name="minPoolSize" value="${c3p0.minPoolSize}"/>    
  177.         <!-- 设置数据库连接池的初始化连接数 -->    
  178.         <property name="initialPoolSize" value="${c3p0.initialPoolSize}"/>    
  179.         <!-- 设置数据库连接池的连接的最大空闲时间,单位为秒 -->    
  180.         <property name="maxIdleTime" value="${c3p0.maxIdleTime}"/>    
  181.     </bean>  
  182.   
  183.   
  184.     <!-- ==================SessionFactory配置============================ -->  
  185.     <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">  
  186.         <!-- 配置dataSource属性 -->  
  187.         <property name="dataSource" ref="dataSource" />  
  188.         <!-- 扫描的包 -->  
  189.         <property name="packagesToScan" value="com.cjh.model" />  
  190.         <!-- 配置hibernate属性 -->  
  191.         <property name="hibernateProperties">  
  192.             <props>  
  193.                 <prop key="hibernate.dialect">  
  194.                     ${hibernate.dialect}  
  195.                 </prop>  
  196.                 <prop key="hibernate.show_sql">  
  197.                     ${hibernate.show_sql}  
  198.                 </prop>  
  199.                 <prop key="hibernate.format_sql">  
  200.                     ${hibernate.format_sql}  
  201.                 </prop>  
  202.                 <prop key="hibernate.hbm2ddl.auto">  
  203.                     ${hibernate.hbm2ddl.auto}  
  204.                 </prop>  
  205.                 <prop key="hibernate.useUnicode">  
  206.                     ${hibernate.useUnicode}  
  207.                 </prop>  
  208.                 <prop key="hibernate.characterEncoding">  
  209.                     ${hibernate.characterEncoding}  
  210.                 </prop>  
  211.   
  212.             </props>  
  213.         </property>  
  214.     </bean>  
  215.       
  216.       
  217.     <!-- ==================配置hibernateTemplate=========================   
  218.     <bean id="hibernateTemplate"  
  219.         class="org.springframework.orm.hibernate3.HibernateTemplate">  
  220.         <property name="sessionFactory">  
  221.             <ref bean="sessionFactory" />  
  222.         </property>  
  223.     </bean>-->  
  224.       
  225.       
  226.     <!-- ==================配置事务管理==================================== -->  
  227.     <bean id="transactionManager"  
  228.         class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  229.         <property name="sessionFactory" ref="sessionFactory" />  
  230.     </bean>  
  231.       
  232.       
  233.     <!-- ==================配置注解实现管理事务(cglib:proxy-target-class="true")================= -->  
  234.     <tx:annotation-driven transaction-manager="transactionManager"  
  235.         proxy-target-class="true" />  
  236.   
  237.   
  238. </beans></pre><br>  
  239. <strong><span style="color:#ff0000">hibernate.priperties:</span></strong>  
  240. <p></p>  
  241. <p></p>  
  242. <pre class="plain" name="code">## C3P0配置  
  243. c3p0.driver_class=com.mysql.jdbc.Driver  
  244. c3p0.url=jdbc:mysql://127.0.0.1:3306/my  
  245. c3p0.username=root  
  246. c3p0.password=root  
  247. c3p0.maxPoolSize=100  
  248. c3p0.minPoolSize=3  
  249. c3p0.initialPoolSize=3  
  250. c3p0.maxIdleTime=100  
  251.   
  252. ## hibernate属性配置  
  253. hibernate.dialect=org.hibernate.dialect.MySQLDialect  
  254. hibernate.show_sql=true  
  255. hibernate.format_sql=true  
  256. hibernate.hbm2ddl.auto=update  
  257. hibernate.useUnicode=true  
  258. hibernate.characterEncoding=utf-8  
  259.    
  260. ## hibernate缓存配置  
  261. #hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider  
  262. #hibernate.cache.use_query_cache=false  
  263. #hibernate.cache.use_second_level_cache=true</pre><br>  
  264. <strong><span style="color:#ff0000">BaseDao代码:</span></strong>  
  265. <p></p>  
  266. <p></p>  
  267. <pre class="java" name="code">import javax.annotation.Resource;  
  268.   
  269. import org.hibernate.Session;  
  270. import org.hibernate.SessionFactory;  
  271.   
  272. /**  
  273.  * 公共类  
  274.  *   
  275.  * @author Only  
  276.  *   
  277.  */  
  278. public class BaseDao {  
  279.   
  280.     @Resource  
  281.     private SessionFactory sessionFactory;  
  282.   
  283.     /**  
  284.      * 获得session  
  285.      * @return  
  286.      */  
  287.     public Session getCurrentSession() {  
  288.         return sessionFactory.openSession();  
  289.     }  
  290.   
  291.     /**  
  292.      * 关闭session  
  293.      * @param session  
  294.      */  
  295.     public void closeSession(Session session) {  
  296.         try {  
  297.             if (null != session) {  
  298.                 session.close();  
  299.             }  
  300.   
  301.         } catch (Exception e) {  
  302.             e.printStackTrace();  
  303.         }  
  304.   
  305.     }  
  306. }  
  307. </pre><br>  
  308. <br>  
  309. <p></p>  
  310. <pre></pre>  
0 0
原创粉丝点击