创建一个空的maven项目,整合SpringBoot和Redis
创建空的maven项目
在最新版的idea中创建maven项目的时候会让选择模板 如下图:
我们选择quickstart快速开始模板,quickstart快速开始模板创建的maven项目里面什么都不带,只有一个简单的App类,啥都没有,是默认的maven项目模板,里面是最简单的架构。
看一下创建的项目模块内容如下图:
引入依赖
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>2.7.18</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.10</version> <!-- Use the appropriate version for your project -->
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.7.5</version>
</dependency>
其中spring-boot-starter-data-redis依赖是用来整合SpringBoot和Redis的;
spring-webmvc依赖是让项目可以在浏览器中通过http地址接口访问;
spring-boot-starter-web依赖是让项目引入tomcat服务器,这样SpringBoot项目才可以通过启动类启动起来 否则的话没有tomcat服务器 项目服务器是启动不起来的。
在src/main路径下面添加resources目录并增加配置文件application.properties
启动SpringBoot项目 必须要有resources资源目录以及application.properties配置文件,如下图:
因为这里我们只是把SpringBoot和Redis整合在一起,因此配置文件里面需要指定redis服务器的主机地址和端口号。
写业务逻辑类
@Service
public class RedisService {
@Resource
private RedisTemplate<String, Object> redisTemplate;
public void set(String key, Object value) {
redisTemplate.opsForValue().set(key, value);
}
public Object get(String key) {
return redisTemplate.opsForValue().get(key);
}
public void delete(String key) {
redisTemplate.delete(key);
}
public void set(String key, Object value, long continueTime, TimeUnit unit) {
redisTemplate.opsForValue().set(key, value, continueTime, unit);
}
}
/**
* @author xuan
* @create 2024/4/22
*/
@ResponseBody
@Controller
public class RedisController {
@Resource
private RedisService redisService;
@GetMapping("/set/{key}/{value}")
public String set(@PathVariable String key, @PathVariable String value) {
redisService.set(key, value);
return "Set key:" + key + ", value: " + value;
}
@RequestMapping(method = RequestMethod.GET, path = "/set")
public String set2(String name) {
redisService.set("name", name);
return "Set key: name, " + "value: " + name;
}
@GetMapping("/get/{key}")
public Object get(@PathVariable String key) {
return redisService.get(key);
}
@RequestMapping(method = RequestMethod.GET, path = "/get")
public Object get2(String key) {
return redisService.get(key);
}
@GetMapping("/delete/{key}")
public String delete(@PathVariable String key) {
redisService.delete(key);
return "Delete key: " + key;
}
@RequestMapping(method = RequestMethod.GET, path = "/delete")
public String delete2(String key) {
redisService.delete(key);
return "Delete key: " + key;
}
@GetMapping("/setWithTime")
public String setWithTime(String key, String value, long time) {
redisService.set(key, value, time, TimeUnit.MILLISECONDS);
return "Set key: " + key + ",value: " + value + "continueTime: " + time;
}
}
如下图:
通过SpringBoot启动类启动
最后我们需要通过SpringBoot启动类启动SpringBoot项目 如下图:
成功启动控制台信息 如下图:
项目代码地址
项目已经发到了码云中,项目地址:https://gitee.com/xuanyuanzy/redis