SpringBoot配置Redis的两种方式
前提1:都需要引入maven依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
前提2:需要在配置文件设置redis的地址、用户名密码
#redis配置信息 redis: database: 0 host: password: port: 6379 timeout: 5000 pool: max-active: 8 max-wait: -1 max-idle: 8 min-idle: 0
方式一:作为组件的形式引用
//先定义组件 @Component public class RedisComponent { private Logger logger = LoggerFactory.getLogger(RedisComponent.class); @Autowired private StringRedisTemplate stringRedisTemplate; public static StringRedisTemplate redis; //@PostConstruct注解效果:在Bean初始化之后(构造方法和@Autowired之后)执行指定操作。 @PostConstruct public void getRedisTemplate(){ redis = this.stringRedisTemplate; logger.info("初始化-------redisTemplate----"); } }
//然后在需要引用的地方调用RedisComponent.redis @Component public class HttpClientUtil { private StringRedisTemplate stringRedisTemplate = RedisComponent.redis; //判断是否存在key boolean flag = stringRedisTemplate.hasKey(key); //根据key获取value token = stringRedisTemplate.opsForValue().get(key); //存储key-value stringRedisTemplate.opsForValue().set(Standard.TOKEN_DIR + "wiki", data.toString()); }
方式二:设置启动类加载顺序优先注册redis
//设置项目启动需要加载的类 @Order(1) public class StartupRunner implements CommandLineRunner { @Autowired private StringRedisTemplate stringRedisTemplate; @Override public void run(String... args){ HttpClientUtil.setStringRedisTemplate(stringRedisTemplate); } }
//在项目的启动类中注册定义好的加载类 @SpringBootApplication public class WikiLdapLoginApplication { public static void main(String[] args) { SpringApplication.run(WikiLdapLoginApplication.class, args); } @Bean public StartupRunner startupRunner(){ return new StartupRunner(); } }
//在工具类中定义stringRedisTemplate @Component public class HttpClientUtil { private final Logger logger = LoggerFactory.getLogger(HttpClientUtil.class); private StringRedisTemplate stringRedisTemplate; public static void setStringRedisTemplate(StringRedisTemplate template) { stringRedisTemplate = template; }
参考资料: https://blog..net/p1830095583/article/details/115218235 https://blog..net/u012578322/article/details/84112451
上一篇:
IDEA上Java项目控制台中文乱码