これが私のクラスです
@Configuration
class MongoDBConfig {
private Logger logger = LoggingFactory.getLogger(getClass());
@Bean
@Scope(value = "singleton", proxyMode = ScopedProxyMode.INTERFACES)
public MongoClient mongoClient() throws UnknownHostException {
logger.error("In Dev mode:");
return new MongoClient("fctest");
}
@Bean
public DB mongoDB() throws UnknownHostException{
try {
return mongoClient().getDB(FCProperties.MONGO_DB_NAME);
}catch (UnknownHostException ue){
logger.error("Error occurred: "+ue.getMessage());
throw ue;
}
}
}
そして、これが私がそれを使用している方法です-
public class UserRepository extends BaseRepository {
@Autowired
public UserRepository(DB mongoDB) {
super("users", mongoDB);
}
}
次のエラーが表示されます
クラス パス リソース [com/fctest/mongo/config/MongoDBConfig.class] で定義された名前 'mongoDB' の Bean の作成中にエラーが発生しました: Bean のインスタンス化に失敗しました。ネストされた例外は org.springframework.beans.factory.BeanDefinitionStoreException: Factory メソッド [public com.mongodb.DB com.fctest.mongo.config.MongoDBConfig.mongoDB() throws java.net.UnknownHostException] throws exception; です。ネストされた例外は java.lang.ClassCastException です: com.sun.proxy.$Proxy13 は com.mongodb.MongoClient にキャストできません