spring cache ehcache 所需jar包

      对于spring cache的配置和使用网上说了很多了,不再重复了,现在描述一下所使用的jar包

      一 使用spring本身的cache

         

       
            org.springframework
            spring-context
            3.2.4.RELEASE
        
        
            org.springframework
            spring-context-support
            3.2.4.RELEASE
        

       二 使用ehcache

         

        
            org.springframework
            spring-context
            3.2.4.RELEASE
        
        
            org.springframework
            spring-context-support
            3.2.4.RELEASE
        
        
            net.sf.ehcache
            ehcache
            2.8.1
        

      

     特别说明:在使用ehcahe实现缓存的时候,不加入ehcache-2.8.1.jar的时候,在spring加入配置文件:

    

    

    

   时, 在为cacheManager指定cacheManager引用时, IDE一直提示ehcache应该为net.sf.ehcache.CacheManager类型的,看了一下源码,

在类org.springframework.cache.ehcache.EhCacheCacheManager类中的cacheManager类型确实为net.sf.ehcache.CacheManager,

public class EhCacheCacheManager extends org.springframework.cache.transaction.AbstractTransactionSupportingCacheManager {
    private net.sf.ehcache.CacheManager cacheManager;

 而引用ehcache为org.springframework.cache.ehcache.EhCacheManagerFactoryBean类型的,

进入类org.springframework.cache.ehcache.EhCacheManagerFactoryBean的源码可以看到:

public class EhCacheManagerFactoryBean implements org.springframework.beans.factory.FactoryBean, 
org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.DisposableBean {

 类org.springframework.cache.ehcache.EhCacheManagerFactoryBean实现接口org.springframework.beans.factory.FactoryBean

并且传入了net.sf.ehcache.CacheManager参数类型

 

而且类org.springframework.cache.ehcache.EhCacheManagerFactoryBean 有方法:

public net.sf.ehcache.CacheManager getObject() { /* compiled code */ }

 所以引入jar包ehcache-2.8.1.jar之后,spring的配置文件就不会再报错了!

 

说的非常乱,不过记住把上面三个jar包都给引入就行了!

你可能感兴趣的:(spring)