其他分享
首页 > 其他分享> > 作用域和生命周期

作用域和生命周期

作者:互联网

作用域和生命周期是至关重要的,因为错误的使用会导致非常严重的并发问题。

1.SqlSessionFactoryBuilder

这个类主要用于创建SqlSessionFactory,创建完SqlSessionFactory后,SqlSessionFactoryBuilder就没有用处了,可以被丢弃。所以SqlSessionFactoryBuilder最好的作用域是局部方法变量

2.SqlSessionFactory

这个类主要创建SqlSession,SqlSessionFactory的存在与否对SqlSession非常重要,SqlSessionFactory就好像一个水池,而SqlSession就像水池下面的一个阀门,想要用SqlSessionFactory里面的资源,阀门打开就好,不用了就要关闭阀门(SqlSession),防止资源浪费。

所以SqlSessionFactory在一次服务中要时刻存在,为了迎接SqlSession的调用。SqlSessionFactory的最佳作用域是应用作用域,最简单的就是使用单例模式或者静态单例模式创建它。

注意不要多次创建SqlSessionFactory

3.SqlSession

每个线程都应该有它自己的 SqlSession 实例。SqlSession 的实例不是线程安全的,因此是不能被共享的,所以它的最佳的作用域是请求或方法作用域。用完后就要立即关闭它,防止资源浪费

标签:生命周期,作用域,创建,阀门,SqlSession,SqlSessionFactory,SqlSessionFactoryBuilder
来源: https://www.cnblogs.com/luoking/p/15817521.html