grails beans定义返回空指针异常

时间:2013-11-16 17:58:59

标签: spring grails mongo-java

我正在尝试为将要处理与mongodb的连接的类定义一个bean 豆类定义

beans = {
    dbCon(DbConnImpl){
        mongoClient = ref("mongo_client")
        dbName = "myDb"
    }

    mongo_client(MongoClient, "localhost", 27017)
    }

DbConnImpl:

class DbConnImpl {
    MongoClient mongoClient
    String dbName

    public DB getDB(){
        return mongoClient.getDB(dbName)
    }

    void setMongoClient(MongoClient mongoClient) {
        this.mongoClient = mongoClient
    }

    void setDbName(String dbName) {
        this.dbName = dbName
    }
}

和用法:

class UserController {
    DbConnImpl dbConn


    def index() {
        DB db = dbConn.getDB()

        def colls = db.getCollectionNames()
        render colls
    }
}

错误:NullPointerException:无法在null对象

上调用方法getDB()

有人可以提供建议吗? 谢谢! 罗伊

1 个答案:

答案 0 :(得分:1)

bean的名称为dbCon,因此您需要在控制器中使用相同的名称:

class UserController {
    DbConnImpl dbCon
}