前言
今天在 SpringBoot 中使用 import org.springframework.beans.factory.annotation.Value;
中的 @Value()
注解注入值时,发现 Ctrl + 鼠标左键
无法正常跳转到 yaml 中的配置项。
解决
yaml 文件无法跳转:
我在 yaml 中的配置项如下:
spring:
application:
name: 郎家岭伯爵
redis:
ssl: false
host: redis-18896.c251.east-us-mz.azure.cloud.redislabs.com
port: 18896
database: 0
timeout: 1000
properties 文件正常跳转:
我在 properties 文件中添加了同样层次的配置项,同样使用 Ctrl + 鼠标左键
可以正常跳转。properties 中的配置信息如下(其它配置省略):
spring.redis.host=test
基于以上信息,我推测是 IDEA 无法识别,数据应该是可以读取的。因此我仅在 yaml 中配置信息后,启动项目进行测试。
测试类如下:
package com.langjialing.helloworld;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class HelloWorldApplicationTests {
@Value("${spring.redis.host}")
private String redisHost;
@Test
void test1(){
System.out.println(redisHost);
}
}
输出:
redis-18896.c251.east-us-mz.azure.cloud.redislabs.com
正常读取到 yaml 中的配置项信息。
总结
综上,SpringBoot 使用 @Value()
注解注入值时,如果把配置项写在 yaml 文件中,在 IDEA 中使用 Ctrl + 鼠标左键
无法跳转到配置项,但配置信息是可以正常读取的。