悲伤的小霉 2021-04-21 21:23 采纳率: 0%
浏览 59

遇到个很奇怪的问题,application.properties文件里面配置redis,写成spri

遇到个很奇怪的问题,application.properties文件里面配置redis,写成spring.redis.xxx项目就报错了,必须去掉spring.的前缀,直接从redis开始写项目才能正常运行。 虽然idea提升报错,但是程序是正常的。如果加上spring的前缀,idea是没报错了,程序运行就会出错。
  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-07-15 08:35
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题分析:
    1. 属性配置文件application.properties中配置redis时,应该使用spring.redis.xxx的格式,但实际上必须去掉spring.前缀才能正常运行。
    2. IDEA提醒报错,但实际程序运行是正常的。
    3. 如果加上spring的前缀,IDEA不报错,但程序运行会出错。 解决方案:
    4. 首先确认配置文件路径和文件名是否正确,确保application.properties被正确加载。
    5. 检查代码中读取配置的方式是否正确,是否采用了springboot的自动装配。
    6. 确认是否存在多个redis相关配置,可能会导致冲突。
    7. 可以尝试使用@ConfigurationProperties注解来注入配置,确保正确读取redis配置。 示例代码: application.properties中配置redis:
    redis.host=127.0.0.1
    redis.port=6379
    

    Java类引用配置:

    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    @Component
    @ConfigurationProperties(prefix = "redis")
    public class RedisProperties {
        private String host;
        private int port;
        // 省略getter和setter方法
    }
    

    使用配置:

    @Autowired
    private RedisProperties redisProperties;
    public void someMethod() {
        String host = redisProperties.getHost();
        int port = redisProperties.getPort();
    }
    

    通过以上步骤可以解决配置redis时出现的问题。如果问题仍无法解决,可以考虑检查其他可能导致的原因,如版本兼容性等。

    评论

报告相同问题?

悬赏问题

  • ¥15 C#i编程中so-ir-192编码的字符集转码UTF8问题
  • ¥15 51嵌入式入门按键小项目
  • ¥30 海外项目,如何降低Google Map接口费用?
  • ¥15 fluentmeshing
  • ¥15 手机/平板的浏览器里如何实现类似荧光笔的效果
  • ¥15 盘古气象大模型调用(python)
  • ¥15 传人记程序做的plc 485从机程序该如何写
  • ¥15 已知手指抓握过程中掌指关节、手指各关节和指尖每一帧的坐标,用贝塞尔曲线可以拟合手指抓握的运动轨迹吗?
  • ¥50 libwebsockets 如何添加其他socket事件回调
  • ¥50 实现画布拖拽算子排布,通过flink实现算子编排计算,请提供思路