`
独善其身008
  • 浏览: 171363 次
  • 性别: Icon_minigender_2
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

Hibernate+Spring整合使用二级缓存

阅读更多

1.选择缓存的实现 我们一般选择轻量级的EHCache,在hibernate.cft.xml里面的<session-factory>里面配置如下

 

  1. <!--选择缓存实现-->  
  2. <property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>  
  3. <!--开启使用二级缓存-->  
  4.  <property name="hibernate.cache.use_second_level_cache">true</property>  
  5.  
  6.  

 或者已经把hibernate整合到spring中去的,在spring的配置文件applicatioContext.xml中配置如下

 

  1. <property name="hibernateProperties"> 
  2.             <props> 
  3.                 <!--此处用来定义hibernate的SessionFactory的属性:     
  4.                     不同数据库连接,启动时选择create,update,create-drop--> 
  5.                 <prop key="hibernate.dialect"> 
  6.                     org.hibernate.dialect.MySQL5Dialect 
  7.                 </prop> 
  8.                 <prop key="hibernate.hbm2ddl.auto">update</prop> 
  9.                 <prop key="hibernate.cache.provider_class"> 
  10.                     org.hibernate.cache.EhCacheProvider 
  11.                 </prop> 
  12.                 <!-- 开启使用二级缓存 --> 
  13.                 <prop key="hibernate.cache.use_second_level_cache">true</prop> 
  14.                 <!-- 使用查询缓存 --> 
  15.                 <prop key="hibernate.cache.use_query_cache">true</prop> 
  16.             </props> 
  17.         </property> 

2,选择在相应的映射文件中或者说在对相应的表进行操作时使用二级缓存并指定缓存的策略,例如指定缓存策略为   read-write;

 

  1. <?xml version="1.0"?> 
  2. <!DOCTYPE hibernate-mapping PUBLIC  
  3.     "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
  4.     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
  5. <hibernate-mapping package="com.bbs.entity"> 
  6.   <class name="User"> 
  7.       <cache usage="read-write"/> 
  8.    
  9.      <id name="user_id"> 
  10.         <generator class="identity"></generator> 
  11.      </id> 
  12.      <property name="user_name"></property> 
  13.      <property name="user_password"></property> 
  14.      <property name="user_mailbox"></property> 
  15.      <property name="user_image"></property> 
  16.      <property name="user_register_date"></property> 
  17.      <property name="user_articles"></property> 
  18.   </class> 
  19. </hibernate-mapping> 
3,在类路径下面进行EHCache的配置,建立ehchache.xml配置缓存的参数。
   
  1. <ehcache> 
  2.     <diskStore path="java.io.tmpdir" /> 
  3.     <defaultCache maxElementsInMemory="10000" eternal="false" 
  4.         timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true" 
  5.         diskPersistent="false" diskExpiryThreadIntervalSeconds="120" 
  6.         memoryStoreEvictionPolicy="LRU" /> 
  7. </ehcache> 

4.别忘了加相应的包:spring-framework-2.5.6\lib\ehcache\ehcache-1.5.0.jar 还有依赖包spring-framework-2.5.6\lib\concurrent\backport-util-concurrent.jar。

配置完成了,不过我的数据库没设计好,昨天晚上一直是“too many connections”或者直接“out of memory”,现在考虑是用二级缓存,这种情况很少出现,不过提升的不是很高。

 

分享到:
评论

相关推荐

    jsf+hibernate+spring集成案例

    6. **性能优化**:在大型项目中,可能需要考虑缓存策略(例如Hibernate的二级缓存)、数据懒加载等优化措施,以提高系统性能。 7. **安全控制**:Spring Security可以集成到JSF应用中,提供认证、授权等功能,保护...

    整合struts+hibernate+spring应用开发详解 part1

    Struts、Hibernate和Spring是Java Web开发中的三大框架,它们各自负责不同的职责,组合使用能够构建出高效、灵活的企业级应用程序。"整合struts+hibernate+spring应用开发详解"是一个系列教程,旨在帮助开发者深入...

    struts+hibernate+spring源码

    Struts、Hibernate和Spring是Java开发中的三大主流框架,它们各自负责不同的领域,共同构建了企业级应用的基础架构。Struts主要处理MVC(模型-视图-控制器)设计模式中的控制层,Hibernate则专注于对象关系映射(ORM...

    基于Struts2+Spring+Hibernate+MySql的注册登录系统.zip

    EhCache是Hibernate的二级缓存技术之一,它能够提高数据库的访问效率。当频繁访问的数据被缓存后,可以直接从内存中获取,减少了对数据库的查询次数,从而提高了系统的响应速度。在SSH系统中,EhCache的集成可以减轻...

    Spring集成的Hibernate配置二级缓存

    以EhCache为例,我们需要在项目中引入ehcache-core或ehcache的依赖,并在Hibernate配置文件(hibernate.cfg.xml或persistence.xml)中启用二级缓存,添加如下配置: ```xml &lt;property name="hibernate.cache.use_...

    struts2+hibernate+spring整合导入包 第二部分

    Struts2负责MVC(Model-View-Controller)架构中的控制层,Hibernate是持久化层的主要框架,而Spring则是一个全面的轻量级应用框架,包括依赖注入、事务管理等功能。将这三个框架整合在一起,可以构建出高效、可维护...

    Spring+Struts2+hibernate+Redis整合

    在SSH+Redis整合中,Hibernate负责数据的持久化,而Redis则可以作为二级缓存,存储部分热点数据,减少对数据库的直接访问,提高性能。 4. **Redis**:Redis是一个开源的内存数据结构存储系统,支持多种数据类型如...

    struts2+hibernate+spring整合开发jar包

    - **缓存机制**:一级缓存(Session)和二级缓存(如EhCache)提高数据访问性能。 3. Spring框架: - **依赖注入**:Spring通过容器管理组件的依赖关系,使代码更易于测试和解耦。 - **AOP**:提供面向切面编程...

    JavaEE企业应用实战-Struts2+Spring3+Hibernate整合开发(第3版)

    - **缓存机制**:提供了二级缓存支持,提高了应用程序性能。 #### 五、SSH框架整合开发实践 - **整合原理**:在实际开发中,Struts2作为Web层框架,负责接收用户请求并将请求分发给相应的Action处理;Spring作为...

    网络硬盘(Struts 2+Hibernate+Spring实现)

    而Hibernate的二级缓存和批处理操作可以提高数据库操作的效率。 6. **用户界面与交互** 虽然题目没有具体提及,但一个完整的网络硬盘系统必然包含用户友好的界面和交互设计。通常,这会涉及JavaScript、HTML、CSS...

    SSH整合 struts+hibernate+spring

    **OpenSessionInView模式**是一种常用的Hibernate优化模式,其主要目的是解决Hibernate的一级缓存问题。通过这种方式,可以确保在一个HTTP请求的生命周期内,Hibernate的Session始终处于打开状态,从而避免了因...

    hibernate+struts+spring整合项目

    Hibernate还支持二级缓存和事务管理,提高了应用程序的性能和稳定性。 Struts2作为MVC框架,负责处理HTTP请求,调度控制器,并将结果显示到视图。其Action类是处理用户请求的核心,通过配置struts.xml文件,可以...

    struts+hibernate+spring留言板(SQL2000数据库)

    同时,Hibernate的二级缓存和事务管理机制也能提高系统的性能和稳定性。 **Spring框架** Spring是一个全面的企业级应用开发框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能。在这个留言板项目中,Spring...

    struts2+hibernate+spring实现的博客系统

    7. **持久层优化**:可能使用Hibernate的二级缓存提高数据访问效率,或者结合MyBatis进行更灵活的SQL操作。 8. **安全考虑**:防止SQL注入和XSS攻击,Struts2和Spring都有相应的安全插件和配置可以使用。 通过这三...

    struts+spring+hibernate整合办公OA系统全套视频下载地址

    - **缓存机制**:支持一级缓存和二级缓存,优化了读写性能。 - **事务管理**:支持细粒度的事务控制。 ### 四、办公自动化系统 (OA) **办公自动化系统** 是一种利用信息技术和设备提高办公效率和管理水平的综合...

    基于Struts+Hibernate+Spring的Web_应用开发

    - **目标**:通过整合Hibernate和Spring框架,掌握使用这两个框架协同工作的方法。 - **内容**: - 学习如何在Spring中配置Hibernate,以及如何使用Spring的事务管理功能来处理Hibernate中的数据操作。 - 完成一个...

    Spring+Hibernate+ehcache整合

    Ehcache作为二级缓存被集成到Hibernate中,可以通过设置`&lt;property name="hibernate.cache.provider_class"&gt;net.sf.ehcache.hibernate.EhCacheProvider&lt;/property&gt;`来启用。 3. **Ehcache配置**:`ehcache.xml`文件...

    Struts+Hibernate+Spring的基本流程

    例如,二级缓存的使用需要谨慎,以免造成内存泄漏或不必要的数据同步开销。 第三,Spring框架不仅提供了IoC容器,还引入了AOP,用于实现声明式事务管理。这意味着开发者无需在代码中显式处理事务边界,而是通过配置...

    spring+hibernate+jbpm整合

    - **缓存机制**:提供了一级缓存和二级缓存机制,提高了数据访问效率。 #### 四、jBPM框架简介 jBPM是一个开源的工作流引擎,主要用于实现业务流程管理。它的主要特点有: - **流程定义**:支持图形化的流程定义...

Global site tag (gtag.js) - Google Analytics