<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 22, comments - 32, trackbacks - 0, articles - 73
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
    spring 3.0.5 發(fā)布后,公司使用Spring MVC +Hibernate 3.5 做項目,其中用到了緩存機制,spring 3.0.5 中ehcache配置方法很簡單,其中緩存機制很細顆粒化,可以具體到把每個方式的返回值做緩存,好了不說廢話下面開始:

    需要JAR包:
    第一:spring 3.0.5 其中JAR;
    第二:另外需要增量JAR包(cglib-2.2.jar,ehcache-spring-annotations-1.1.2.jar)注意版本;

    其中applicationContext.xml 其中配置:
    <beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:aop="http://www.springframework.org/schema/aop"
     xmlns:context="http://www.springframework.org/schema/context"
     xmlns:p="http://www.springframework.org/schema/p"
     xmlns:tx="http://www.springframework.org/schema/tx"
     xmlns:ehcache="http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring"
     xsi:schemaLocation="http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans.xsd
      http://www.springframework.org/schema/aop
      http://www.springframework.org/schema/aop/spring-aop-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
      http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring  
      http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring/ehcache-spring-1.1.xsd">

    <ehcache:annotation-driven cache-manager="ehCacheManager" />
     
     <bean id="ehCacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"> 
           <property name="configLocation" value="classpath:ehcache.xml" /> 
       </bean>

    加到你的文件中去,上邊是頭信息自己可以比照下,沒有的加進去;


    在你的 src 目錄下新建ehcache.xml內(nèi)容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"
     updateCheck="false">
     <diskStore path="java.io.tmpdir" />
     <defaultCache eternal="false"
       maxElementsInMemory="1000"
       overflowToDisk="false"
       diskPersistent="false"
       timeToIdleSeconds="0"
       timeToLiveSeconds="600"
       memoryStoreEvictionPolicy="LRU" />

     <cache name="departCache"
       eternal="false"
       maxElementsInMemory="100"
       overflowToDisk="false"
       diskPersistent="false"
       timeToIdleSeconds="0"
       timeToLiveSeconds="300"
       memoryStoreEvictionPolicy="LRU" />

    </ehcache>

    其中里邊詳細配置自己可以去上網(wǎng)搜下;

    這樣基本上配置完成了:

    DAO層緩存:例如下邊這個方法的返回值需要緩存:

    @SuppressWarnings("unchecked")
     //spring 3 基于注解ehcache緩存配置;
     @Cacheable(cacheName="departCache")
     public List<AppDepart> getChildDepart(Integer id) throws Exception {
      return  this.getHibernateTemplate().find("from AppDepart  where state=1 and idParent="+id);
     }
     
    @Cacheable(cacheName="departCache") 加上這句話,其中cacheName 對應(yīng)ehcache.xml  中的<cache name="departCache"

    這樣這個方法返回值就可以被緩存起來的了,但是怎么樣把緩存數(shù)據(jù)和數(shù)據(jù)庫中的數(shù)據(jù)實現(xiàn)同步呢?

    如果對這個PO做update ,save,delete 可以實現(xiàn)這樣策略如下:

    @Transactional(propagation = Propagation.REQUIRED)
     //設(shè)定spring的ecache緩存策略,當(dāng)編輯機構(gòu)時候,把緩存全部清除掉,以達到緩存那數(shù)據(jù)同步;
     @TriggersRemove(cacheName="departCache",removeAll=true)
     public boolean editDepart(String depno, String depName) {
      boolean flag = false;
      try {
       AppDepart depart = departDao.getAppdepart(depno);
       depart.setDepName(depName);
       departDao.update(depart);
       flag = true;
      } catch (Exception e) {
       e.printStackTrace();
      }
      return flag;
     }

    好了到此配置完畢,但是更加詳細緩存配置策略需要研究(例如:當(dāng)update數(shù)據(jù)時候,不全部清掉緩存,就可以達到與數(shù)據(jù)庫同步效果)
    以下配置經(jīng)本人完成測試通過(只限于本版本)。

                                 有問題請EMAIL:zzzlyr@163.com










    評論

    # re: Spring 3.0.5 MVC 基于注解ehcache.xml 配置方式  回復(fù)  更多評論   

    2015-03-24 11:17 by zuidaima
    java ehcache框架demo使用實例教程源代碼下載地址:http://zuidaima.com/share/kehcache-p1-s1.htm

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲情A成黄在线观看动漫软件| 亚洲国产精品无码专区| 精品亚洲成在人线AV无码| 91青青青国产在观免费影视| 香蕉视频在线观看亚洲| 野花香高清视频在线观看免费| 亚洲午夜久久久久久久久久| 三上悠亚电影全集免费| 亚洲综合精品香蕉久久网| 西西人体免费视频| 亚洲av福利无码无一区二区| 99精品国产成人a∨免费看| 日韩亚洲AV无码一区二区不卡| 久久www免费人成看片| 亚洲一区二区三区在线网站| 四虎www成人影院免费观看| 免费一级全黄少妇性色生活片 | 久久精品国产亚洲αv忘忧草| 国拍在线精品视频免费观看 | 亚洲一区二区三区国产精品| 日本精品久久久久久久久免费| 亚洲一区无码精品色| 久久久久久AV无码免费网站下载| 亚洲国产高清在线| 久久久久国色AV免费看图片| 亚洲av无码专区在线电影| 国产av无码专区亚洲国产精品| 今天免费中文字幕视频| 国产.亚洲.欧洲在线| 又色又污又黄无遮挡的免费视| 国产男女爽爽爽免费视频| 亚洲国产一区国产亚洲| 免费观看的毛片手机视频| sihu国产精品永久免费| 久久久婷婷五月亚洲97号色| 日本高清免费不卡在线| 四虎国产精品免费永久在线| 91亚洲自偷在线观看国产馆| vvvv99日韩精品亚洲| 美女内射毛片在线看免费人动物| 亚洲av色香蕉一区二区三区蜜桃|