用sqlSessionFactoryBeanName而不用sqlSessionFactory的原因
生活随笔
收集整理的這篇文章主要介紹了
用sqlSessionFactoryBeanName而不用sqlSessionFactory的原因
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一開始的時候一直不明白為什么MapperScannerConfigurer中sqlSessionFactoryBeanName要用value而不用ref.
在mybatis-spring1.1.0以前,是通過<property name="sqlSessionFactory" ref="sqlSessionFactory"/>將SqlSessionFactory對象注入到sqlSessionFactory,這樣做可能會有一個問題,就是在初始化MyBatis時,jdbc.properties文件還沒被加載進來,dataSource的屬性值沒有被替換,就開始構造sqlSessionFactory類,屬性值就會加載失敗。
在1.1.0以后,MapperScannerConfigure提供了String類型的sqlSessionFactoryBeanName,通過<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />,這樣先將bean name注入到sqlSessionFactoryBeanName,等到spring初始化完成后,再通過bean name構建sqlSessionFactory。
總結
以上是生活随笔為你收集整理的用sqlSessionFactoryBeanName而不用sqlSessionFactory的原因的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 听说现在微服务30k以上?真的该转型?
- 下一篇: mybatis的动态sql的一些记录