创建一个空的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 {@Resourceprivate 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 {@Resourceprivate 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