Для проекта, в котором я сейчас работаю, я пытаюсь загрузить вложенное значение из yaml в приложение с пружинным загрузочным устройством. Я пробую разные вещи отсюда и там, но ничего не работает.Чтение вложенных свойств из yaml в конфигурации весенней загрузки
услышать, как мой базы данных 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
}
не могли бы вы сказать мне, что я делаю неправильно здесь.
Благодаря
Имя является '' не spring.data.mongodb.host' MongoDB .host'. Почему вы не позволяете Spring Boot настроить все для вас? Он поддерживает автоконфигурирование mongo (поэтому свойства существуют). –
@ M.Deinum, можете ли вы добавить свой комментарий в качестве ответа? Я согласен с этим, я использую автоконфигурирование для настройки mongodb –