# 生命週期與作用域 ###### tags: `Mybatis-配置解析` 不同作用域和生命周期類別是至關重要的,因為錯誤的使用會導致非常嚴重的**並發問題**。 ### 啟動流程  #### SqlSessionFactoryBuilder * 這個類可以被實例化、使用和丟棄,一旦創建了 SqlSessionFactory,就不再需要它了。(因為功用只是創建工廠) * 作用域:放在局部變量 #### SqlSessionFactory * 說白了,就是可以想像為:數據庫連接池 * SqlSessionFactory 一旦被創建就應該在應用的運行期間一直存在,**沒有任何理由丟棄它或重新創建另一個實例。** * 作用域:應用作用域 * 最簡單的就是使用**單例模式**或者靜態單例模式(保證全局只有一個變量 #### SqlSession * 連接到連接池的一個請求 * SqlSession 的實例不是線程安全的,因此是不能被共享的,所以它的最佳的作用域是請求或方法作用域。 * 用完之後需要趕緊關閉,否則資源被占用  這裡面的每一個Mapper,就代表一個具體的業務!
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up