但是只会用是不行的,还要知其所以然,本文以官方的starter:spring-boot-starter-data-redis为例,从源码层面上分析整个自动化配置的过程。以期对starter和autoconfigure这两个Spring Boot的核心模块进行梳理。 了解原理后,我会通过模拟spring-boot-starter-data-redis,并使用Jedis来创建一个处理redis的自定义starter:my-re...
在Spring Boot中,要访问Redis,可以直接引入spring-boot-starter-data-redis依赖,它实际上是Spring Data的一个子项目——Spring Data Redis,主要用到了这几个组件: Lettuce:一个基于Netty的高性能Redis客户端; RedisTemplate:一个类似于JdbcTemplate的接口,用于简化Redis的操作 客户端配置 首要任务便是,连接客户端,获取...
- 1.spring-boot-starter-data-redis默认是使用lettuce去访问redis - 2.内置了StringRedisTemplate和RedisTemplate,应用可以直接使用。当存取对象的时候,StringRedisTemplate需要手动把对象转化成String,RedisTemplate虽然可以直接存取对象,但是需要对象实现Serializable接口,同时在redis库中的可读性比较差。 - 3.由于存在以上...
想要了解 SpringBoot 是如何加载 starter 的(也就是 SpringBoot 的自动装配原理),首先就要从启动类上的 @SpringBootApplication 注解说起。 SpringBoot 通过 SpringApplication.run(App.class, args) 方法启动项目,在启动类上有 @SpringBootApplication 注解,研究上面的原理首先看 @SpringBootApplication 内部的组成结构,...
Redis是一个开源的内存数据结构存储,可用作数据库、缓存和消息代理。 Redis支持数据结构,如字符串、哈希值、列表、集合等。 Redis是一个NoSQL存储,使用键/值来存储数据。 Spring Boot为Redis的依赖提供了spring-boot-starter-data-redis。 Redis连接使用LettuceConnectionFactory或JedisConnectionFactory获得。
springBoot之所以这么火,众多starter的自动装配功能起了很大的作用。例如springBoot中集成redis,只需要pom.xml中引入spring-boot-starter-data-redis,配置文件中加入spring.redis.database等几个关键配置项即可,相比于传统的xml配置可以说是大大减少了集成的工作量,我们不需要在xml配置文件中去定义需要注入到容器中的bean...
spring-boot-starter-parent 2.2.6.RELEASE org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test org.springframework.boot spring-boot-starter-data-redis redis.clients jedis 3.3.0 2.创建RedisConfig配置类 ...
在springcloud中我们可以使用spring-boot-starter-data-redis已经为我们处理好分布式缓存,但是我们还是不满足于只存在于网络中传输的缓存,我们现在来扩展成本地加Redis双级缓存,这样就可以减少网络传输带来的传输效率。 springcloud 以下是针对已经整理好的项目进行直接使用 ...