0

これが私のクラスです

@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 にキャストできません

4

0 に答える 0