对于我目前正在进行的项目,我正在尝试将嵌套值从yaml加载到spring-boot应用程序我从这里和那里尝试了不同的东西,但似乎没有任何工作。
听到我的 database-server.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
}
你可以告诉我这里我做错了吗。
由于
答案 0 :(得分:1)
尝试此配置,让Spring Boot配置其余部分:Example
<强> application.yml 强>
spring:
data:
mongodb:
host: <hostname>
port: 27017
database: <dbname>
username: <usernamr>
password: ******