zoukankan      html  css  js  c++  java
  • spring中启用缓存

    1.所需jar

     hibernate3基本jar和ehcache-1.2.3.jar  

    2.配置 

    2.1 spring配置

     <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

             <property name="dataSource" ref="dataSource"/>
             <property name="mappingResources">
                <list>
                  <value>com/westsoft/bean/Person.hbm.xml</value>
                </list>
             </property>
             <property name="hibernateProperties">
                <value>
                    hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
                    hibernate.hbm2ddl.auto=update
                    hibernate.show_sql=false
                    hibernate.format_sql=false
                    hibernate.cache.use_second_level_cache=true
                       hibernate.cache.use_query_cache=false
                    hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider

                  </value>
             </property>
        </bean>
        <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
              <property name="sessionFactory" ref="sessionFactory"/>
        </bean>
        <tx:annotation-driven transaction-manager="txManager"/>

    2.2 bean.hbm.xml配置

     <?xml version="1.0" encoding="UTF-8"?>

    <!DOCTYPE hibernate-mapping PUBLIC
            "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
            "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
    >
    <hibernate-mapping package="cn.itcast.bean">
        <class name="Person" table="person">
            <cache usage="read-write" region="cn.itcast.bean.Person"/>
            <id name="id">
                <generator class="native"/>
            </id>
            <property name="name" length="10" not-null="true"/>
        </class>
    </hibernate-mapping>

    2.3 cach配置文件 名字ehcache.xml

     <?xml version="1.0" encoding="UTF-8"?>

    <!-- 
        defaultCache节点为缺省的缓存策略
         maxElementsInMemory 内存中最大允许存在的对象数量
         eternal 设置缓存中的对象是否永远不过期
         overflowToDisk 把溢出的对象存放到硬盘上
         timeToIdleSeconds 指定缓存对象空闲多长时间就过期,过期的对象会被清除掉
         timeToLiveSeconds 指定缓存对象总的存活时间
         diskPersistent 当jvm结束是是否持久化对象
         diskExpiryThreadIntervalSeconds 指定专门用于清除过期对象的监听线程的轮询时间
     
    -->
    <ehcache>
        <diskStore path="D:\cache"/>
        <defaultCache  maxElementsInMemory="1000" eternal="false" overflowToDisk="true"
            timeToIdleSeconds
    ="120"
            timeToLiveSeconds
    ="180"
            diskPersistent
    ="false"
            diskExpiryThreadIntervalSeconds
    ="60"/>
        <cache name="com.westsoft.bean.Person" maxElementsInMemory="100" eternal="false"
        overflowToDisk
    ="true" timeToIdleSeconds="300" timeToLiveSeconds="600" diskPersistent="false"/>
    </ehcache>
  • 相关阅读:
    dubbo注册zookeeper保错原因
    Django 终端打印SQL语句
    Django 的orm模型
    Django 的路由系统
    Django 开端
    前端 jq的ajax请求
    前端 后台
    前端 JQ操作
    前端 链式操作
    前端 JQ事件操作
  • 原文地址:https://www.cnblogs.com/kuailewangzi1212/p/2410707.html
Copyright © 2011-2022 走看看