Für das Projekt, an dem ich gerade arbeite, versuche ich den verschachtelten Wert in yaml in die Spring-Boot-Anwendung zu laden Ich habe verschiedene Dinge von hier und da ausprobiert nichts scheint zu funktionieren.Geschachtelte Propery von Yaml im Frühjahr Startkonfiguration lesen
hören ist, wie meine Datenbank-server.yaml wie folgt aussieht:
spring:
application:
name: database-service
data:
mongodb.host: <hostname>
mongodb.port: 27017
mongodb.uri: mongodb://<hostname>/<db>
ich die mongodb.host und mongodb.port zugreifen möchten.
Einstiegspunkt des Frühlings-Boot sieht wie folgt aus:
@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);
}
}
hören ist, wie ich den Wert abzurufen, ich versuche: Ich denke, ich etwas falsch hier tue, aber keine Ahnung, was mit, weil ich anders lesen Dinge auf verschiedenen Tutorials. Also, eine Ahnung, was genau hier gemacht werden muss.
@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
}
können Sie mir sagen, was ich hier falsch mache.
Dank
Name is 'spring.data.mongodb.host' nicht' mongodb .host'. Warum lässt du Spring Boot die Dinge nicht für dich konfigurieren? Es hat Auto Config Unterstützung für Mongo (deshalb existieren die Eigenschaften). –
@M.Deinum können Sie bitte Ihren Kommentar als Antwort hinzufügen Ich werde es akzeptieren, ich benutze Auto Config für die Konfiguration der Mongodb –