学习之spring自带缓存

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:util="http://www.springframework.org/schema/util" xmlns:cache="http://www.springframework.org/schema/cache"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
        http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-4.2.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd">
    <context:component-scan base-package="com.my.proper" />
    <context:component-scan base-package="com.my.action" />
    <context:annotation-config />

    <!-- cache注解 -->
    <cache:annotation-driven />
    <!--spring cache管理器 -->
    <bean id="cacheManager" class="org.springframework.cache.support.SimpleCacheManager">
        <property name="caches">
            <set>
                <bean
                    class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean">
                    <property name="name" value="default" />
                </bean>
                <bean
                    class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean">
                    <property name="name" value="mycache" />
                </bean>
            </set>
        </property>
    </bean>
</beans>
package com.my.action;

import java.util.UUID;

import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;

@Service
public class MyCache {
    @Cacheable(value = "mycache")
    public String getUuid() {
        return UUID.randomUUID().toString();
    }
    
    @CacheEvict(value = "mycache")
    public String updateUuid() {
        return UUID.randomUUID().toString();
    }
}
    public void cacheTest() {
        MyCache cache=(MyCache) cx.getBean("myCache");
        System.out.println(cache.getUuid());
        System.out.println(cache.getUuid());
        System.out.println(cache.updateUuid());
        System.out.println(cache.getUuid());
        System.out.println(cache.getUuid());
    }

有追求,才有动力!

向每一个软件工程师致敬!

by wujf

mail:921252375@qq.com

原文地址:https://www.cnblogs.com/wujf/p/5287843.html