小弟也是初学者,若有问题,各位大佬指点指点
本系列目录
本章为springboot+redis系列第一节,主要讲述jedis连接池的配置,以及jedis的配置文件
1.创建springboot项目
pom.xml文件
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.hui</groupId>
<artifactId>redis-1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>redis-1</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>2.3.0.RELEASE</spring-boot.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
引入lombok依赖,需要安装lombok插件,具体操作。
lombok的引入,可以省略构造方法,以及get/set方法,减少代码量,提高代码可读性。
2.配置application.yml文件配置
如果application.yml用不了(没有变成绿色),你的单词可能写错了
注意:代码格式,yml文件根据缩进判断级别
server:
port: 8080
spring:
redis:
port: 6379
password:
host: localhost
jedis:
pool:
max-active: 10 #最大连接数
max-idle: 6 #最大空闲数
min-idle: 2 #最小空闲数
timeout: 2000 #连接超时
3.jedis配置文件
package cn.hui.redis1.config;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
/**
* @Author Administrator
* @create 2020/7/10 19:49
*/
@Configuration
public class JedisConfig {
//创建日志
private Logger logger = LoggerFactory.getLogger(JedisConfig.class);
//@Value相当于,从application.yml文件的配置获取配置信息,给定义的变量赋值
@Value("${spring.redis.host}")
private String host;
@Value("${spring.redis.port}")
private int port;
@Value("${spring.redis.password}")
private String password;
@Value("${spring.redis.timeout}")
private int timeout;
@Value("${spring.redis.jedis.pool.max-active}")
private int maxActive;
@Value("${spring.redis.jedis.pool.min-idle}")
private int minIdle;
@Value("${spring.redis.jedis.pool.max-idle}")
private int maxIdle;
//相当于IOC容器,下一步使用@Autowired注入到要使用的地方
@Bean
public JedisPool jedisPool(){
//创建jedis连接池,配置
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxIdle(maxIdle);
jedisPoolConfig.setMinIdle(minIdle);
jedisPoolConfig.setMaxTotal(maxActive);
//创建新jedisPool对象
JedisPool jedisPool = new JedisPool(jedisPoolConfig,host,port,timeout,password);
//项目启动的时候,会在控制台显示(第三行)
logger.info("jedis连接池连接成功"+host+"\t"+port);
return jedisPool;
}
}
4.test测试jedis使用是否成功
package cn.hui.redis1;
import cn.hui.redis1.config.JedisConfig;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class Redis1ApplicationTests {
//依赖注入
@Autowired
private JedisConfig jedisConfig;
@Test
void contextLoads() {
System.out.println(jedisConfig);
}
}