0
現在MongoDBとSpringでダイビング中です。 別のデータベースが構成されていますが、依然として間違ったデータベースを作成または読み取ろうとします。cant configはバネで正しいmongo db名
はここに私のコードです:
@Configuration
@EnableMongoRepositories
public class MongoConfig {
@Bean
public MongoClientFactoryBean mongo() {
MongoClientFactoryBean mongo = new MongoClientFactoryBean();
mongo.setHost("localhost");
return mongo;
}
@Bean
public MongoOperations mongoTemplate(Mongo mongo) {
return new MongoTemplate(mongo, "gabble");
}
}
ハンドラ:
@Component
public class SomeHandler {
private static final Logger log = Logger.getLogger(SomeHandler.class);
private MongoOperations mongo;
@Autowired
public SomeHandler(MongoOperations mongo) {
this.mongo = mongo;
}
public void registerNewUser(User user, Credential credential) {
log.info(mongo.getCollectionNames());
mongo.save(user,"user");
mongo.save(credential,"credential");
log.info("count: "+mongo.getCollection("user").count());
log.info("content: "+mongo.getCollection("user").find());
log.info("stored new user in database");
}
}
log.infoの出力():
2016-08-03 14:46:13 INFO SomeHandler:29 - count: 1
2016-08-03 14:46:13 INFO SomeHandler:30 - content: Cursor id=0, ns=test.user, query={ }, numIterated=0, readPreference=primary
あなたが見ることができるように、モンゴオブジェクトはテストを指し、 .user、なぜですか? さらに設定が必要ですか? dbテストは、春までにも作成されます。
あなたはそのプロジェクトで春の靴を持っていますか? 'MongoConfig'が実行されていますか? 'MongoTemplate'は実際にはスプリングブートによって自動構成されているようです。 – Roman
ええ、私は春のブートを使用しています。私はすでに、@ SpringBootApplicationアノテーションによって引き起こされているように見えます。しかし、これを削除すると、私のアプリケーション全体はもう始まっていません。私は現在回避策やいくつかのポインタを探して、これを管理する方法 – lunatikz