spring mvc ehcache

每一个应用都应该有 context.properties 配置文件,用来初始化一些配置信息,方便在发布的过程中更改正式环境的配置信息


 1 在spring-context.xml 中新增  
   <!--  扫描加载该文件-->
   <context:property-placeholder localtion="classpath:/context/properties/context.properties" />


    加载了该文件,在context.properties文件中新增配置信息就应该可以方便的获取
    在 context.properties 新增如下
      liweitest=ok


    那么如果想很方便的获取该值,那么还需要在spring-context.xml 文件中新增如下代码
    <util:properties id="applicationProps" localtion="classpath:/context/properties/context.properties" />


    那么在 DemoController 中新增如下代码即可获取该值


     @value("#{applicationProps['liweitest']}")
     public String liweiTest;


     生成getter 和setter方法,


     打印 liweiTest 即可出现 ok






    在开发的过程中,经常用到缓存,那么用ehcache缓存 使用如下
    
     1 在context目录下,新增cache包,在该包下,新增 ehcache.xml文件
       文件内容如下


        <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd">
          <diskStore path="java.io.temdir" />
           <!--缓存时间为一天-->
           <cache name="CACHE_DAY"  maxElementsInMemory="20000"  eternal="false"   timeToIdleSeconds="86400"  timeToLiveSeconds="86400"   overflowToDisk="false" memoryStoreEvictionPolicy="LRU" >
           </cache>
        <ehcache>


     2 在spring-context.xml 文件加入 xmlns:ehcache等一些头文件信息,同时还需要配置如下
       <bean id="liweiCacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
        <properties name="configLocation">
           <value>classpath:/context/cache/ehcache.xml</value>
        </properties>
       </bean>


      <bean id="ehCacheBean" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
        <properties name="cacheManager">
           <ref bean="liweiCacheManager"/>
        </properties>
  
        <!-- 以下配置可以不需要,不配置  cacheManager 对象会去ehcache.xml 找他们有哪些cacheName 的缓存-->
        <properties name="cacheName">
          <value>CACHE_DAY</value>
        </properties>
       </bean>
        
        <ehcache:annotation-driven cache-manager="liweiCacheManager" self-populating-cache-scope="shared" />




      3 新增一个缓存管理类 测试每次参数一致是缓存是否有效


         @Component
        public class CacheManager{


           @Cacheable(cacheName="CACAHE_DAY",cacheNull =  false)
           public String getCacheByProdId(long prodId){
             system.out.println("如果prodId 一样那么缓存就必须有效");
             return "a";
           }
        }


       写一个demo 测试通过 

































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值