0
我有簡單的maven項目Spring-data-mongodb
項目。我需要指定(覆蓋)數據庫連接的詳細信息。 MongoDB databse使用默認設置(port = 27017)在本地主機上運行。我試圖用AppConfig
彈簧數據mongodb覆蓋配置
@Configuration
@EnableMongoRepositories
public class AppConfig extends AbstractMongoConfiguration {
@Override
protected String getDatabaseName() {
return "TestDatabase";
}
@Override
public Mongo mongo() throws Exception {
// wrong port on purpose
return new MongoClient("127.0.0.1", 27007);
}
}
我的主要文件看起來像這樣
public class MongoApp {
private static final Log log = LogFactory.getLog(MongoApp.class);
public static void main(String[] args) throws Exception {
MongoOperations mongoOps = new MongoTemplate(new MongoClient(), "database");
mongoOps.insert(new Person("Joe", 34));
log.info(mongoOps.findOne(new Query(where("name").is("Joe")), Person.class));
// mongoOps.dropCollection("person");
}
}
當我運行項目的一切工作正常,但我不應該有此配置。
項目結構
main
-AppConfig.java
-MongoApp.java
-Person.java
一切都很優良。那你到底在問什麼?你想從application.properties獲取配置? – barbakini
不知道我知道該怎麼做......我只是不明白爲什麼這個工作...因爲指定的端口27007是錯誤的。我的本地數據庫在27017上運行。所以我認爲我的AppConfig被忽略了 – TomP
您是否試圖從db中獲取任何東西?春天可以懶洋洋地建立聯繫。所以沒有連接異常,直到第一個請求 – barbakini