Java电商项目-6.实现门户首页数据展示_Redis数据缓存(缓存同步)

该博客围绕SOA架构的Java电商项目展开,先介绍将首页类目、广告数据放Redis缓存以缩短用户获取信息时间,接着阐述单机版和3主3从Redis集群环境搭建,然后说明基于SOA架构创建门户项目,最后讲解门户首页商品类目显示、大广告轮播及相关缓存和缓存同步的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目的Github地址

需求介绍

  • 为了缩短用户看到首页信息的时间, 我们把首页显示的类目信息, 广告等数据放到Redis缓存中, 这样就不用通过耗时的数据库操作获取数据, 而是直接从Redis缓存中获取.
  • 在开始之前先记录一个坑: 重启虚拟机后nginx服务器关闭了, 导致nginx上的图片无法访问, 当再次启动nginx的时候遇到

在这里插入图片描述

  • 进入nginx.conf文件把HTTPS SERVER里面的root注释掉后问题就没有了, 能正常启动.

在这里插入图片描述

搭建Redis集群环境

  • 实现Redis 3主3从集群搭建

在这里插入图片描述

  • Redis3.0 开始支持集群,在每个 Master 上存放着各不相同的数据,即分布式存储的思想。
    集群中的每个节点都需要知道集群中自己之外的其它节点。
  • Redis 集群主(Master(M1,M2,M3))从(Slave(S1,S2,S3))复制、读写分离 。Master 只负责写和
    同步数据给 Slave,Slave 负责被读的任务,可以通过 Slave 的扩容提高读的速度。

 

下面先描述单机版redis的安装

  • 首先要把redis的安装包上传到虚拟机上.

在这里插入图片描述

  • 安装gcc-c++编译器, 输入命令: yum install gcc-c++(我的机器已经安装过了, 第一次安装中途需要输入确定信息)

在这里插入图片描述

  • 解压redis安装包: tar zxvf 压缩包名...

在这里插入图片描述

  • 进入解压后的文件夹, 输入指令make进行编译, 结果如下

在这里插入图片描述

  • 接下来执行安装操作: make PREFIX=/usr/local/redis/ install(PREFIX指定了安装位置)

在这里插入图片描述

  • 进入bin目录后就可以登陆redis了. 但是redis有两种启动方式, 默认是前台启动: ./redis-server

在这里插入图片描述

  • 使用前台启动的话, 命令行就不能用来输入命令了, 可以按Ctrl + C 强行退出.
  • 然后进入到解压目录, 把解压文件中的redis.conf文件拷贝到安装目录下: cp redis.conf /usr/local/redis/bin

在这里插入图片描述

  • 编辑redis.conf: vi redis.conf

在这里插入图片描述

  • 重新启动redis: ./redis-server redis.conf(指定配置文件)
  • 查看是否启动: ps -ef | grep -i redis

在这里插入图片描述

  • 在防火墙中配置6379端口为打开.

在这里插入图片描述

  • 重启防火墙: service iptables restart
  • 测试是否能够连接上redis服务: ./redis-cli

在这里插入图片描述

  • 单机安装到这里便告一段落.

 

下面将进行Redis3主3从集群环境搭建

  • 安装集群需要ruby脚本, 先解压ruby脚本tar zxvf 压缩包名

在这里插入图片描述

  • 进入解压目录, 执行install.sh

在这里插入图片描述

  • 然后创建redis集群相关目录
  1. 首先在/opt目录下创建redis目录

在这里插入图片描述

  1. 然后进入redis目录, 在这创建3个集群相关目录: mkdir conf, mkdir logs, mkdir data

在这里插入图片描述

  • 其中conf目录用于存放6个redis共用的配置文件
  • 需要将原始的redis.conf配置文件, 拷贝到/opt/redis/conf中, 更名为redis-common
  • 建议如果不熟悉的话在windows下进行配置, 然后在上传到linux中. (该配置文件已经给出, 可以到素材文件夹中获取)

在这里插入图片描述

  • 然后进入/usr/local/redis/bin目录中, 加入各个redis的配置文件.

在这里插入图片描述

  • 关闭防火墙: service iptables stop

  • 然后启动redis的6个服务. (先把之前启动的单机redis进程kill掉)

  • 然后逐个启动6个服务

在这里插入图片描述

  • 接下来要创建集群:(按照自己的ip地址进行修改), 执行目录为redis解压目录下的src目录
  • ./redis-trib.rb create --replicas 1 192.168.117.130:6380 192.168.117.130:6381 192.168.117.130:6382 192.168.117.130:6383 192.168.117.130:6384 192.168.117.130:6385
  • 找到执行这行命令的目录, redis压缩包的解压目录/src: 复制执行上面的命令

在这里插入图片描述

  • 下面连接上集群进行测试, 进入/usr/local/redis/bin
  • 输入指令: ./redis-cli -c -p 6380, -c表示集群

在这里插入图片描述

  • 这里记录一下redis集群的重启.
  • 重启的参考连接
  • 大致步骤是要把/opt/redis/data 目录下的文件清空, 然后重新启动每个redis服务, 最后创建redis集群.

 

基于SOA架构, 创建门户ashop-portal-web门户项目

  • 在ashop项目下创建war类型子模块ashop-portal-web

在这里插入图片描述

  • 接着配置好pom.xml, src/main/resource下的配置文件和web.xml. 这些文件的配置可在源码中获得.
  • 然后把静态资源复制到项目中
  • 接着创建PageController

在这里插入图片描述

  • 打包部署项目, 显示出网站首页本阶段完成.

在这里插入图片描述

 

实现门户首页商品类目显示

  • 创建远程服务方法:

在这里插入图片描述

在这里插入图片描述

  • 然后封装回显数据的实体类对象
  • 在ashop-common模块下的beans包中创建CatResult

在这里插入图片描述

  • 创建CatNode实体类.

在这里插入图片描述

  • 编写web模块的service接口和实现类, 里面涉及到json字符串的封装

在这里插入图片描述

  • 编写controller, 这次响应回去的类型是text/html

在这里插入图片描述

  • 最后实现这样的效果

在这里插入图片描述

 

实现门户首页大广告轮播

  • 远程服务提供者实现

在这里插入图片描述

  • 编写封装响应信息的实体类.

在这里插入图片描述

  • 编写web模块的service接口及实现类
    在这里插入图片描述

  • 编写controller

在这里插入图片描述

  • 最后打包部署, 能在商品的大广告位看到图片

在这里插入图片描述

 

实现商品类目缓存

  • 考虑到商城首页的并发量很大, 如果每个用户的请求都从数据库中查询商品类目效率将会很低. 我们将会用redis把商品类目缓存到内存中, 加快响应速度.
  • 整个逻辑是很好理解的:
  • 如果redis缓存中没有商品类目数据, 就通过调用ashop-rpc远程服务获得数据, 通过处理后保存到redis中, 再返回给用户进行展示.
  • 如果redis缓存中已经缓存了商品类目数据, 就直接返回给客户, 不需要调用ashop-rpc.

 

  • 首先在pom文件中添加依赖

在这里插入图片描述

  • 创建applicationContext-redis.xml
    在这里插入图片描述
    在这里插入图片描述

  • 在src下创建文件cache.properties, 记录redis中保存商品类目的键, 注意要在上面的spring配置文件中添加context头

在这里插入图片描述

  • 接下来修改service实现类中的逻辑

在这里插入图片描述

 

实现大广告缓存, 缓存同步

  • 缓存的逻辑和上面商品类目的缓存一样.

在这里插入图片描述

缓存同步

  • 使用缓存就肯定要考虑缓存更新的问题. 如果后台更新了数据, 而redis缓存中的数据没有更新, 用户就会获取到非最新数据, 出现脏读.
  • 关于实现缓存与数据库之间的同步, 以下提供两种思路:
  1. 设置key的生命周期, 定期同步数据库.
  2. 当调用远程服务操作数据库后, 同时清空缓存中的内容, 这样当客户访问时服务器将重新到数据库读取数据.

在这里插入图片描述

C:\Users\涂大钧\.jdks\corretto-17.0.14\bin\java.exe -XX:TieredStopAtLevel=1 -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-Dmanagement.endpoints.jmx.exposure.include=*" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\lib\idea_rt.jar=58848:C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\bin" -Dfile.encoding=UTF-8 -classpath D:\AAAAA\笔记\reids7\target\classes;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-starter-jdbc\3.5.3\spring-boot-starter-jdbc-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-starter\3.5.3\spring-boot-starter-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot\3.5.3\spring-boot-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-autoconfigure\3.5.3\spring-boot-autoconfigure-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-starter-logging\3.5.3\spring-boot-starter-logging-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\ch\qos\logback\logback-classic\1.5.18\logback-classic-1.5.18.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\ch\qos\logback\logback-core\1.5.18\logback-core-1.5.18.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\apache\logging\log4j\log4j-to-slf4j\2.24.3\log4j-to-slf4j-2.24.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\apache\logging\log4j\log4j-api\2.24.3\log4j-api-2.24.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\slf4j\jul-to-slf4j\2.0.17\jul-to-slf4j-2.0.17.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\jakarta\annotation\jakarta.annotation-api\2.1.1\jakarta.annotation-api-2.1.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\yaml\snakeyaml\2.4\snakeyaml-2.4.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\zaxxer\HikariCP\6.3.0\HikariCP-6.3.0.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-jdbc\6.2.8\spring-jdbc-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-beans\6.2.8\spring-beans-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-tx\6.2.8\spring-tx-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\lettuce\lettuce-core\6.2.4.RELEASE\lettuce-core-6.2.4.RELEASE.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\netty\netty-common\4.1.122.Final\netty-common-4.1.122.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\netty\netty-handler\4.1.122.Final\netty-handler-4.1.122.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\netty\netty-resolver\4.1.122.Final\netty-resolver-4.1.122.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\netty\netty-buffer\4.1.122.Final\netty-buffer-4.1.122.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\netty\netty-transport-native-unix-common\4.1.122.Final\netty-transport-native-unix-common-4.1.122.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\netty\netty-codec\4.1.122.Final\netty-codec-4.1.122.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\netty\netty-transport\4.1.122.Final\netty-transport-4.1.122.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\projectreactor\reactor-core\3.7.7\reactor-core-3.7.7.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\reactivestreams\reactive-streams\1.0.4\reactive-streams-1.0.4.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-starter-data-redis\3.5.3\spring-boot-starter-data-redis-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\data\spring-data-redis\3.5.1\spring-data-redis-3.5.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\data\spring-data-keyvalue\3.5.1\spring-data-keyvalue-3.5.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\data\spring-data-commons\3.5.1\spring-data-commons-3.5.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-oxm\6.2.8\spring-oxm-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-aop\6.2.8\spring-aop-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-context-support\6.2.8\spring-context-support-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\apache\commons\commons-pool2\2.12.1\commons-pool2-2.12.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\springfox\springfox-swagger2\2.9.2\springfox-swagger2-2.9.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\swagger\swagger-annotations\1.5.20\swagger-annotations-1.5.20.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\swagger\swagger-models\1.5.20\swagger-models-1.5.20.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\fasterxml\jackson\core\jackson-annotations\2.19.1\jackson-annotations-2.19.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\springfox\springfox-spi\2.9.2\springfox-spi-2.9.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\springfox\springfox-core\2.9.2\springfox-core-2.9.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\springfox\springfox-schema\2.9.2\springfox-schema-2.9.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\springfox\springfox-swagger-common\2.9.2\springfox-swagger-common-2.9.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\springfox\springfox-spring-web\2.9.2\springfox-spring-web-2.9.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\google\guava\guava\20.0\guava-20.0.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\fasterxml\classmate\1.7.0\classmate-1.7.0.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\slf4j\slf4j-api\2.0.17\slf4j-api-2.0.17.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\plugin\spring-plugin-core\1.2.0.RELEASE\spring-plugin-core-1.2.0.RELEASE.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-context\6.2.8\spring-context-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\plugin\spring-plugin-metadata\1.2.0.RELEASE\spring-plugin-metadata-1.2.0.RELEASE.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\mapstruct\mapstruct\1.2.0.Final\mapstruct-1.2.0.Final.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\springfox\springfox-swagger-ui\2.9.2\springfox-swagger-ui-2.9.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\redis\clients\jedis\4.3.1\jedis-4.3.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\json\json\20220320\json-20220320.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\google\code\gson\gson\2.13.1\gson-2.13.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\google\errorprone\error_prone_annotations\2.38.0\error_prone_annotations-2.38.0.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-starter-web\3.5.3\spring-boot-starter-web-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-starter-json\3.5.3\spring-boot-starter-json-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\fasterxml\jackson\core\jackson-databind\2.19.1\jackson-databind-2.19.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\fasterxml\jackson\core\jackson-core\2.19.1\jackson-core-2.19.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.19.1\jackson-datatype-jdk8-2.19.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.19.1\jackson-datatype-jsr310-2.19.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.19.1\jackson-module-parameter-names-2.19.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\boot\spring-boot-starter-tomcat\3.5.3\spring-boot-starter-tomcat-3.5.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\apache\tomcat\embed\tomcat-embed-core\10.1.42\tomcat-embed-core-10.1.42.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\apache\tomcat\embed\tomcat-embed-el\10.1.42\tomcat-embed-el-10.1.42.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\apache\tomcat\embed\tomcat-embed-websocket\10.1.42\tomcat-embed-websocket-10.1.42.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-web\6.2.8\spring-web-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\micrometer\micrometer-observation\1.15.1\micrometer-observation-1.15.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\io\micrometer\micrometer-commons\1.15.1\micrometer-commons-1.15.1.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-webmvc\6.2.8\spring-webmvc-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-expression\6.2.8\spring-expression-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\projectlombok\lombok\1.18.38\lombok-1.18.38.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\jakarta\xml\bind\jakarta.xml.bind-api\4.0.2\jakarta.xml.bind-api-4.0.2.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\jakarta\activation\jakarta.activation-api\2.1.3\jakarta.activation-api-2.1.3.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\net\bytebuddy\byte-buddy\1.17.6\byte-buddy-1.17.6.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-core\6.2.8\spring-core-6.2.8.jar;D:\develop\MAVEN\apache-maven-3.9.10\repository\org\springframework\spring-jcl\6.2.8\spring-jcl-6.2.8.jar com.sky.reids7.Reids7Application . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.5.3) 2025-07-16 15:14:43.418 [main] INFO com.sky.reids7.Reids7Application- Starting Reids7Application using Java 17.0.14 with PID 23168 (D:\AAAAA\笔记\reids7\target\classes started by 涂大钧 in D:\AAAAA\笔记\reids7) 2025-07-16 15:14:43.419 [main] INFO com.sky.reids7.Reids7Application- No active profile set, falling back to 1 default profile: "default" 2025-07-16 15:14:43.881 [main] INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate- Multiple Spring Data modules found, entering strict repository configuration mode 2025-07-16 15:14:43.883 [main] INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate- Bootstrapping Spring Data Redis repositories in DEFAULT mode. 2025-07-16 15:14:43.902 [main] INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate- Finished Spring Data repository scanning in 8 ms. Found 0 Redis repository interfaces. 2025-07-16 15:14:44.273 [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer- Tomcat initialized with port 8080 (http) 2025-07-16 15:14:44.282 [main] INFO org.apache.catalina.core.StandardService- Starting service [Tomcat] 2025-07-16 15:14:44.283 [main] INFO org.apache.catalina.core.StandardEngine- Starting Servlet engine: [Apache Tomcat/10.1.42] 2025-07-16 15:14:44.323 [main] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]- Initializing Spring embedded WebApplicationContext 2025-07-16 15:14:44.323 [main] INFO org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext- Root WebApplicationContext: initialization completed in 879 ms 2025-07-16 15:14:44.488 [main] WARN org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext- Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'orderController': Injection of resource dependencies failed 2025-07-16 15:14:44.495 [main] INFO org.apache.catalina.core.StandardService- Stopping service [Tomcat] 2025-07-16 15:14:44.506 [main] INFO org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLogger- Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. 2025-07-16 15:14:44.518 [main] ERROR org.springframework.boot.SpringApplication- Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'orderController': Injection of resource dependencies failed at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:372) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1459) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:606) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1222) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1188) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1123) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:987) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) at com.sky.reids7.Reids7Application.main(Reids7Application.java:10) Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'orderService': Injection of resource dependencies failed at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:372) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1459) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:606) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:207) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeanByName(AbstractAutowireCapableBeanFactory.java:468) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:606) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:577) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:739) at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:272) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:146) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:369) ... 19 common frames omitted Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'redisTemplate' defined in class path resource [org/springframework/boot/autoconfigure/data/redis/RedisAutoConfiguration.class]: Unsatisfied dependency expressed through method 'redisTemplate' parameter 0: Error creating bean with name 'redisConnectionFactory' defined in class path resource [org/springframework/boot/autoconfigure/data/redis/LettuceConnectionConfiguration.class]: HEXPIRE at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:804) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:546) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1375) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1205) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:569) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:207) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeanByName(AbstractAutowireCapableBeanFactory.java:468) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:606) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:577) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:739) at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:272) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:146) at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessProperties(CommonAnnotationBeanPostProcessor.java:369) ... 33 common frames omitted Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redisConnectionFactory' defined in class path resource [org/springframework/boot/autoconfigure/data/redis/LettuceConnectionConfiguration.class]: HEXPIRE at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1826) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:607) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:529) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:339) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:373) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:337) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1683) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1628) at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:913) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ... 49 common frames omitted Caused by: java.lang.NoSuchFieldError: HEXPIRE at org.springframework.data.redis.connection.lettuce.LettuceConnection$TypeHints.<clinit>(LettuceConnection.java:1163) at org.springframework.data.redis.connection.lettuce.LettuceConnection.<clinit>(LettuceConnection.java:112) at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory.start(LettuceConnectionFactory.java:938) at org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory.afterPropertiesSet(LettuceConnectionFactory.java:1009) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1873) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1822) ... 59 common frames omitted 进程已结束,退出代码为 1
最新发布
07-17
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值