MyBatis中SqlSessionFactoryBean的作用


為什么返回的是SqlSessionFactory對象而不是SqlSessionFactoryBean
首先spring在初始化的時候會將所有創建的單例以Map<K,V>的形式放入singletonObjects,同時調用FactoryBean的getObject()將返回的對象以Map<K,V>的形式放入factoryBeanObjectCache

如{sqlSessionFactory=org.apache.ibatis.session.defaults.DefaultSqlSessionFactory@d997f9}

 

然后getBean的時候,spring利用getSingleton從singletonObjects獲取單例(這里是SqlSessionFactoryBean對象),判斷是否實現了FactoryBean接口,若實現了就從factoryBeanObjectCache利用beanname(這里是sqlSessionFactory)重新獲取,若未實現則返回getSingleton獲取的單例

 

 

原作者:https://blog.csdn.net/Mask_V/article/details/79368884


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM