我有一个属性bean(例子):
@Data
public class MyProperty {
private String name;
private String address;
}
我在类路径中有一个名为my_property.yml
my.property:
name: testName
address: testAddress
如何将此文件加载到我的属性bean?
不使用@PropertyResource
,因为我想使用yml文件。
感谢。
答案 0 :(得分:0)
您可以查看两个属性 -
spring.config.name - 如果您不喜欢应用程序作为您的文件名 对于eg-
java -Dspring.config.name = my_property myjar.jar
spring.config.location - 告诉您文件的位置
此处详细记录了更多信息
答案 1 :(得分:0)
关注: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=***
答案 2 :(得分:0)
@PropertySource
是包括外部/自定义属性的方法,但不幸的是,由于this issue,该方法不适用于yaml文件。
您需要通过简单地编写EnvironmentPostProcessor
并将其添加为META-INF/spring.factories
来自行加载这些yaml文件。
这在下面的Spring文档中有所描述(版本之间的细微差别)。
Spring boot 1.5.x
Spring boot 2.x