Spring+myBatis+ehcache的配置

一、在POM中添加相关的库包引用:

    
<dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>${mybatis.version}</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>${mybatis.spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-ehcache</artifactId>
            <version>1.0.0</version>
        </dependency>
        <dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache-core</artifactId>
            <version>${ehcache.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>${spring.version}</version>
        </dependency>

二、添加ehcache的配置:ehcache.xml

<ehcache updateCheck="true" name="application-cache">
  <diskStore path="java.io.tmpdir"/>
  <defaultCache maxElementsInMemory="10000"
                    eternal="false"
                    timeToIdleSeconds="120" 
                    timeToLiveSeconds="120" 
                    overflowToDisk="true"
                    maxElementsOnDisk="10000000" 
                    diskPersistent="false"
                    diskExpiryThreadIntervalSeconds="120" 
                    memoryStoreEvictionPolicy="LRU" />
    
</ehcache>

三、在spring配置文件application-context.xml中添加配置:

beans头中添加引用:

xmlns:p="http://www.springframework.org/schema/p"
       xmlns:cache="http://www.springframework.org/schema/cache"

xsi:schemaLocation中添加

 
http://www.springframework.org/schema/cache           http://www.springframework.org/schema/cache/spring-cache.xsd

添加ehcache的bean:

   
<cache:annotation-driven/>
    <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager"
          p:cacheManager-ref="ehcache"/>
    <bean id="ehcache" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"
          p:configLocation="classpath:ehcache.xml" p:shared="true"/>

四、修改mybatis-config.xml:

添加:

<!-- 全局映射器启用缓存 -->
  <setting name="cacheEnabled" value="true"/>

该步骤也可以省略,mybatis默认cacheEnable是打开的

五、在需要使用缓存的mapper中添加:

   
<cache type="org.mybatis.caches.ehcache.LoggingEhcache"/>
    <!--<cache type="org.mybatis.caches.ehcache.EhcacheCache"/>-->

实测中没发现这两者有什么区别。相关资料说LogginEhcache打开了日志。

相关推荐