对于我目前正在处理的项目,我正在尝试将嵌套值从yaml加载到spring-boot应用程序中。我一直在尝试不同的方法,但似乎什么都不起作用。
听到的是我的数据库服务器.yaml的样子:
spring:
application:
name: database-service
data:
mongodb.host: <hostname>
mongodb.port: 27017
mongodb.uri: mongodb://<hostname>/<db>
我想访问mongodb.host和mongodb.port.
弹簧靴的入口点如下:
@SpringBootApplication
@ComponentScan("abc.def.testrun")
public class DatabaseOperationServiceWebApp
{
public static void main(String... args)
{
System.setProperty("spring.config.name", "database-server");
SpringApplication.run(DatabaseOperationServiceWebApp.class, args);
}
}
听到的是我试图找回价值的方式:我认为我在这里做错了什么,但不知道是什么,因为我在不同的教程上读到了不同的东西。所以,有点知道这里到底需要做什么。
@Configuration
@Component
@EnableConfigurationProperties
public class TestRunDatabaseOperationConfig extends AbstractMongoConfiguration
{
@Override
protected String getDatabaseName()
{
return "db";
}
@Value("${mongodb.host}")
private String host;
@Value("${mongodb.port}")
private String port;
//more code
}
你能告诉我我在这里做错了什么吗。
感谢
尝试此配置并让Spring Boot配置其余部分:示例
application.yml
spring:
data:
mongodb:
host: <hostname>
port: 27017
database: <dbname>
username: <usernamr>
password: ******