Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从yaml文件打印属性时为Null_Java_Spring_Properties_Yaml - Fatal编程技术网

Java 从yaml文件打印属性时为Null

Java 从yaml文件打印属性时为Null,java,spring,properties,yaml,Java,Spring,Properties,Yaml,我正在尝试通过以下操作从yml文件访问属性: import org.springframework.beans.factory.annotation.Value; @SpringBootApplication public class Main { @Value("${external.library.url.empik.best.accuracy.book}") private static String bestAccuracyBook; public static void m

我正在尝试通过以下操作从
yml
文件访问属性:

import org.springframework.beans.factory.annotation.Value;

@SpringBootApplication
public class Main {

 @Value("${external.library.url.empik.best.accuracy.book}")
 private static String bestAccuracyBook;

 public static void main(String[] args) throws IOException {
  SpringApplication.run(Main.class, args);
  System.out.println(bestAccuracyBook);
 }

}
external:
  library:
    url:
      meriln:
        romans: www.melin.pl/romans
        sensacja: www.melin.pl/sensacja
      empik:
        guides: https ://www.empik.com/ksiazki/poradniki
        romances: https://www.empik.com/ksiazki/romans
        biographies: https://www.empik.com/ksiazki/biografie-i-dokument
        bestsellers: https://www.empik.com/bestsellery/ksiazki
        crime: https://www.empik.com/ksiazki-sensacja-kryminal
        fantasy: https://www.empik.com/ksiazki/literatura-fantastyka
        concrete.book: https://www.empik.com/%s,%s,ksiazka-p
        best.accuracy.book: https://www.empik.com/ksiazki,31,s?sort=scoreDesc&q=%s
尽管添加了SprnigBoot符号,它还是打印空值。不知道为什么

我的application-local.yml文件如下所示:

import org.springframework.beans.factory.annotation.Value;

@SpringBootApplication
public class Main {

 @Value("${external.library.url.empik.best.accuracy.book}")
 private static String bestAccuracyBook;

 public static void main(String[] args) throws IOException {
  SpringApplication.run(Main.class, args);
  System.out.println(bestAccuracyBook);
 }

}
external:
  library:
    url:
      meriln:
        romans: www.melin.pl/romans
        sensacja: www.melin.pl/sensacja
      empik:
        guides: https ://www.empik.com/ksiazki/poradniki
        romances: https://www.empik.com/ksiazki/romans
        biographies: https://www.empik.com/ksiazki/biografie-i-dokument
        bestsellers: https://www.empik.com/bestsellery/ksiazki
        crime: https://www.empik.com/ksiazki-sensacja-kryminal
        fantasy: https://www.empik.com/ksiazki/literatura-fantastyka
        concrete.book: https://www.empik.com/%s,%s,ksiazka-p
        best.accuracy.book: https://www.empik.com/ksiazki,31,s?sort=scoreDesc&q=%s
我注意到,当我用鼠标在任何属性上移动时,它会说:
无法解析配置属性…..

我的pom.xml

....

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.1.RELEASE</version>
        <relativePath/>
    </parent>

...
    <dependencies>
        ...
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

</project>
。。。。
org.springframework.boot
spring启动程序父级
2.1.1.1发布
...
...
org.springframework.boot
SpringBootStarterWeb
org.springframework.boot
spring引导启动器数据jpa
org.springframework.boot
spring引导配置处理器
符合事实的
org.springframework.boot
弹簧起动试验
测验

您不能将
@Value
放在静态字段上。

如果您不初始化Spring,该注释将不会起任何作用。@Compass我补充道。仍然没有。您不能将
@Value
放在静态字段上。您是对的@ArnaudClaudel@mara122我把它作为回答