当前位置: 首页 > article >正文

redis能正常访问,但是springboot编译报错

redis能正常访问,配置也确定无误,但是springboot编译报错:Failed to bind properties under ‘spring.redis.host’ to java.lang.String

原因:
我新加了一个类导致:

@Configuration
public class MyConf {
    @Bean
    public LogAspect logAspect() {
        return new LogAspect();
    }
}

因为你在自定义的 @Configuration 类中没有明确指定配置属性的绑定,或者这个类的加载顺序影响了 Spring Boot 的属性绑定过程。虽然你的 Redis 配置本身没有问题,但 Spring 在绑定属性时可能会因为其他配置类而出现冲突。

可以尝试以下方法来解决这个问题:

确认配置类的加载顺序:

检查是否有其他的 @Configuration 类影响了 Redis 配置的加载。你可以尝试在 MyConf 类上加上 @Order 注解来调整加载顺序,或者确保 MyConf 类不会干扰到 Redis 配置的加载。
检查 LogAspect 的构造函数:

确认 LogAspect 类是否在初始化时依赖了某些 Spring 环境属性,如果是这样,可能会影响 Spring 的属性绑定过程。
明确指定属性来源:

如果 LogAspect 或其他 Bean 需要特定的属性,可以通过 @Value 注解明确指定属性来源。例如:
java
复制代码
@Bean
public LogAspect logAspect(@Value(“${spring.redis.host}”) String redisHost) {
return new LogAspect(redisHost);
}
使用 @ConditionalOnProperty 注解:

你可以在 MyConf 类上使用 @ConditionalOnProperty 注解,确保在特定条件下才加载这个配置类,以避免在 Redis 配置加载之前进行不必要的初始化。


http://www.kler.cn/a/284945.html

相关文章:

  • 网络安全-Linux基础(bash脚本)
  • springboot参数校验
  • SpringBoot单体服务无感更新启动,动态检测端口号并动态更新
  • 计算机新手练级攻略——善用搜索引擎
  • Vue 2 —Vue Router 页面导航和参数传递
  • C语言最简单的扫雷实现(解析加原码)
  • 【Go函数详解】二、参数传递、变长参数与多返回值
  • java定时服务
  • Python学习日志(1)——安装
  • Linux-arm64中断现场保护详解
  • MySQL 集群技术全攻略:从搭建到优化(上)
  • 分类模型评估指标——准确率、精准率、召回率、F1、ROC曲线、AUC曲线
  • 快递盒检测检测系统源码分享 # [一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]
  • RAG 向量数据库:掌握 Elasticsearch 作为向量数据库的终极指南
  • 【Python零基础】文件使用和异常处理
  • Vue(四) 组件、单文件组件、非单文件组件,重要的内置关系
  • 【计组 | Cache原理】讲透Cache的所有概念与题型方法
  • 大模型好书案例——《BERT基础教程:Transformer大模型实战》(附PDF)
  • LuaJit分析(一)LuaJit交叉编译
  • TCP的连接与断开
  • java基础开发-xstream解析xml
  • 去中心化(Decentralization)
  • leetcode1514 最大概率路径(Bellman-ford算法详解)
  • 栈算法【基于顺序表】
  • centos 系统yum 安装 mariadb
  • UML类图中的组合关系