我有一个属性 bean(示例(:
@Data
public class MyProperty {
private String name;
private String address;
}
我在类路径中有一个名为的自定义 yml 文件:my_property.yml
my.property:
name: testName
address: testAddress
如何将此文件加载到我的属性 bean? 不使用@PropertyResource
,因为我想使用 yml 文件。 谢谢。
@PropertySource
是包含外部/自定义属性的方法,但不幸的是,由于此问题,它不适用于 yaml 文件。
您需要通过简单地编写EnvironmentPostProcessor
并将其添加到META-INF/spring.factories
来自行加载这些yaml文件。
这在下面的 Spring 文档中进行了描述(版本之间略有不同(。
弹簧启动 1.5.x 弹簧启动 2.x
您可以查看两个属性 -
-
spring.config.name - 如果您不喜欢应用程序作为文件名 例如-
java -Dspring.config.name = my_property myjar.jar
-
spring.config.location - 告诉文件所在的位置
更多信息在这里有据可查
春季文档
关注: http://www.baeldung.com/spring-yaml
application.yml
文件的相对路径为/myApplication/src/main/resources/application.yml
。
访问是:
@Autowired
private YAMLConfig myConfig;
我把我的application.properties
文件放在src/main/resources/
结束我的@SpringBootApplication
阅读。
应用程序属性文件
spring.jpa.hibernate.ddl-auto=create
spring.datasource.url=***
spring.datasource.username=***
spring.datasource.password=***