在Spring Boot中,可以通过@ConfigurationProperties
注解来读取自定义的YAML配置文件。首先在application.properties
或application.yml
文件中配置自定义的YAML文件的路径,例如:
custom:
property1: value1
property2: value2
然后创建一个Java类来映射这些配置,例如:
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Configuration
@ConfigurationProperties(prefix = "custom")
public class CustomProperties {
private String property1;
private String property2;
// getters and setters
}
在Spring Boot的启动类中引入@EnableConfigurationProperties
注解并将 CustomProperties
类作为参数传入,例如:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
@SpringBootApplication
@EnableConfigurationProperties(CustomProperties.class)
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}
这样就可以在其他组件中注入CustomProperties
类,并访问其中的配置属性,例如:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@Autowired
private CustomProperties customProperties;
@GetMapping("/custom")
public String getCustomProperties() {
return customProperties.getProperty1() + ", " + customProperties.getProperty2();
}
}