关于SqlSessionFactory对象的生命周期问题
项目中在监听器创建了SqlSessionFactory对象后,这个对象为什么一直存在,是因为监听器在web应用程序运行过程中一直在内存中运行吗?
4
收起
正在回答
1回答
同学你好。并不是因为监听器。而是因为工具类呢。在工具类中。我们定义了一个静态的sqlSessionFactory变量,并且在initSqlSessionFactry方法中给它了初始值。
在监听器中,我们只是借用了监听时机触发了contextInitialized来调用initSqlSessionFactry方法而已。
真正持有sqlSessionFactory的还是SqlSessionFactoryUtils这个工具类。而它能一直存在,也是因为它是工具类的静态成员变量,所以常驻在内存。而每次使用sqlSessionFactory只要调用getSqlSessionFactory方法获取即可。
如果解答了同学的疑问,望采纳~
祝学习愉快~
Java数据库开发与实战应用2018版
- 参与学习 人
- 提交作业 277 份
- 解答问题 4297 个
Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星