美文网首页
spring 缓存

spring 缓存

作者: setone | 来源:发表于2019-12-18 10:01 被阅读0次

    先上pom

    <?xml version="1.0" encoding="UTF-8"?>
    
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>spring-about</groupId>
      <artifactId>spring-about</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>war</packaging>
    
      <name>spring-about Maven Webapp</name>
      <!-- FIXME change it to the project's website -->
      <url>http://www.example.com</url>
    
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <java.version>1.8</java.version>
        <!-- spring版本号 -->
        <spring.version>3.1.1.RELEASE</spring.version>
        <!-- log4j日志文件管理包版本 -->
        <slf4j.version>1.6.1</slf4j.version>
        <log4j.version> 1.2.17</log4j.version>
      </properties>
    
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.11</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-webmvc</artifactId>
          <version>${spring.version}</version>
          <exclusions>
            <exclusion>
              <groupId>commons-logging</groupId>
              <artifactId>commons-logging</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-jdbc</artifactId>
          <version>${spring.version}</version>
        </dependency>
        <!-- 数据库驱动包 -->
        <!-- mysql-->
        <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>5.1.48</version>
        </dependency>
        <!-- 阿里巴巴数据源包 -->
        <dependency>
          <groupId>com.alibaba</groupId>
          <artifactId>druid</artifactId>
          <version>1.1.20</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl -->
        <dependency>
          <groupId>org.codehaus.jackson</groupId>
          <artifactId>jackson-mapper-asl</artifactId>
          <version>1.9.12</version>
        </dependency>
        <dependency>
          <groupId>cglib</groupId>
          <artifactId>cglib</artifactId>
          <version>2.2.2</version>
        </dependency>
        <dependency>
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok</artifactId>
          <version>1.18.10</version>
        </dependency>
          <dependency>
              <groupId>net.sf.ehcache</groupId>
              <artifactId>ehcache-core</artifactId>
              <version>2.6.6</version>
          </dependency>
      <!-- 日志文件管理包 -->
      <!-- log start -->
        <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-nop</artifactId>
          <version>${slf4j.version}</version>
          <scope>runtime</scope>
        </dependency>
      <!-- log end -->
      </dependencies>
    
      <build>
        <finalName>spring-about</finalName>
      </build>
    </project>
    

    配置

    @Configuration
    @EnableCaching(proxyTargetClass = true)
    public class CacheConfig implements CachingConfigurer {
    
        @Value("#{'${cacheManager.names}'.split(',')}")
        private List<String> cacheManagerNames;
    
        @Bean
        @Override
        public CacheManager cacheManager() {
            SimpleCacheManager cacheManager = new SimpleCacheManager();
            List<Cache> list = new ArrayList<>();
            for (String name : cacheManagerNames) {
                list.add(new ConcurrentMapCache(name));
            }
            cacheManager.setCaches(list);
            return cacheManager;
        }
    
        @Bean
        @Override
        public KeyGenerator keyGenerator() {
            return new DefaultKeyGenerator();
        }
    }
    

    使用

        @Cacheable(value = "propConfigCache",key = "#root.method.toString()+#key ",condition = "#key==null or ''.equals(#key.trim())")
        @Override
        public Map<String, Object> get(String key) {
            Map<String, Object> map = new HashMap<>();
            map.put("date", new Date());
            return map;
        }
    

    源码地址:https://gitee.com/mijin/selfmvc/tree/master/springmvc-about

    相关文章

      网友评论

          本文标题:spring 缓存

          本文链接:https://www.haomeiwen.com/subject/qykbuctx.html