JFinal Undertow main函数启动后调用Db.use()返回的是空

JFinal Undertow main函数启动后调用Db.use()返回的是空.  code如下:

    public static void main(String[] args) {
        UndertowServer server = UndertowServer.create(MyMainConfig.class, "undertow.properties");
        server.start();
        DbPro dbPro = Db.use();
        log.debug("==>db:{}", dbPro);// 此时dbPro 为 null
    }

请问这里调用Db.use()为啥是null呢?
如果想在启动后立即执行一些初始化数据库相关的操作,是不是只能在JFinalConfig 继承类中的 onStart()方法中进行呀?

评论区

zzutligang

2023-09-20 10:02

你是不是对jfinal有什么误解。既然你使用了UndertowServer,那就是你要做个http的应用。那么main方法启动程序后,才会去回调MyMainConfig里的那几个回调函数,你链接数据库应该是在configPlugin里通过创建DruidPlugin和ActiveRecordPlugin实现数据库连接的。
如果你不是做http应用,而是普通java程序,你也需要DruidPlugin和ActiveRecordPlugin,只是你要手动调用这两个对象的start方法。

124653847atqq.com

2023-09-21 14:03

@zzutligang 多谢回复。明白了。

热门反馈

扫码入社