温馨提示×

springboot怎么读取yml文件

小亿
177
2023-11-22 00:55:36
栏目: 编程语言

在Spring Boot中,可以使用@ConfigurationProperties注解来读取YAML文件中的配置信息。

首先,在你的项目中引入yaml依赖。在pom.xml文件中添加以下依赖项:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
   <groupId>org.yaml</groupId>
   <artifactId>snakeyaml</artifactId>
   <version>1.29</version>
</dependency>

接下来,创建一个配置类,并在该类上使用@ConfigurationProperties注解进行配置。

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties(prefix = "myconfig")
public class MyConfig {
    private String name;
    private String url;

    // 省略getter和setter方法
}

在上面的例子中,@ConfigurationProperties注解中的prefix属性指定了配置文件中的属性前缀为"myconfig",这意味着它将读取以"myconfig"开头的属性。

接下来,在application.yml或application.properties文件中添加配置信息。

myconfig:
  name: "John"
  url: "http://example.com"

现在,你可以在任何使用@Autowired注解的类中注入MyConfig对象,并访问其中的属性。

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MyApp {

    @Autowired
    private MyConfig myConfig;

    public static void main(String[] args) {
        SpringApplication.run(MyApp.class, args);
    }

    public void run(String... args) {
        System.out.println("Name: " + myConfig.getName());
        System.out.println("URL: " + myConfig.getUrl());
    }
}

以上就是在Spring Boot中读取YAML文件的方法。使用@ConfigurationProperties注解,可以轻松地将YAML文件中的配置信息加载到Java对象中。

0