多级缓存架构开发 八 ( 给多级缓存开发启动模块 )

实现目的:

              其他任何项目想使用多级缓存功能时,只需要导入这个启动项目即可

实现步骤:

    1. 导入jar包

        1.1) 父模块中导入

 <dependencyManagement>
        <dependencies>
 
            <!--在此处添加Spring Boot自身的自动配置最为依赖-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-autoconfigure</artifactId>
                <version>${spring.boot.version}</version>
            </dependency>
 
        </dependencies>
    </dependencyManagement>

        1.2)在启动字模块中添加

    <dependencies>

        <dependency>
            <groupId>org.github.roger</groupId>
            <artifactId>multi-layering-cache-aspecj</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
        </dependency>

    </dependencies>

2.多级缓存自动配置类

 

package com.github.roger.cache.config;

import com.github.roger.aspect.MultiLayeringCacheAspect;
import com.github.roger.cache.properties.MultiLayeringCacheProperties;
import org.github.roger.MultiLayeringCache;
import org.github.roger.MultiLayeringCacheManager;
import org.github.roger.manager.ICacheManager;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.data.redis.core.RedisTemplate;

@Configuration
//仅仅在当前上下文中存在Xxxx对象时,才会实例化一个Bean
//也就是 只有当RedisTemplate.class 在spring的applicationContext中存在时  这个当前的bean才能够创建
@ConditionalOnBean(RedisTemplate.class)
@AutoConfigureAfter({RedisAutoConfiguration.class})
@EnableAspectJAutoProxy
@EnableConfigurationProperties({MultiLayeringCacheProperties.class})
public class MultiLayeringCacheAutoConfig {

    @Bean
    //如果项目中自己定义了ICacheManager实例,则这个实例不必创建
    @ConditionalOnMissingBean(ICacheManager.class)
    public ICacheManager cacheManager(RedisTemplate<String, Object> redisTemplate) {
        MultiLayeringCacheManager layeringCacheManager = new MultiLayeringCacheManager(redisTemplate);

        return layeringCacheManager;
    }

    @Bean//把切面交给Spring 容器管理
    public MultiLayeringCacheAspect layeringCacheAspect(){
        return new MultiLayeringCacheAspect();
    }

}

   3.在resources目录下创建文件夹 META-INF ,在 META-INF 文件夹下创建文件 spring.factories

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.github.roger.cache.config.MultiLayeringCacheAutoConfig

多级缓存架构的源码下载地址

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值