0
對於這個項目,我目前的工作,我想從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的 –