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