課程
/后端開發(fā)
/Java
/Java高并發(fā)秒殺API之業(yè)務(wù)分析與DAO層
為什么在sqlSessionFactoryBeanName中要用value注入sqlSessionFactory,而不是ref?
2018-05-03
源自:Java高并發(fā)秒殺API之業(yè)務(wù)分析與DAO層 4-7
正在回答
因為? value 屬性需要一個正確并且存在的值, ,如果配置文件出錯,或者沒被加載,整個dataSource 就不存在,那么sqlSessionFactory 也是 錯誤的,不存在的值, value值就不存在。??
使用ref 屬性,就會出現(xiàn),不管這個引入的值對不對,都會被使用。但實際會因為這個值不存在,導致異常
在mybatis-spring 1.1.0以前,是通過<property name="sqlSessionFactory" ref="sqlSessionFactory"/>將SqlSessionFactory對象注入到sqlSessionFactory,這樣做可能會有一個問題,就是在初始化MyBatis時,jdbc.properties文件還沒被加載進來,dataSource的屬性值沒有被替換,就開始構(gòu)造sqlSessionFactory類,屬性值就會加載失敗。在1.1.0以后,MapperScannerConfigure提供了String類型的sqlSessionFactoryBeanName,這樣將bean name注入到sqlSessionFactoryBeanName,這樣就會等到spring初始化完成后,再構(gòu)建sqlSessionFactory。
qq_超_52
舉報
Java實現(xiàn)高并發(fā)秒殺API的第一門課,還等什么,趕快來加入吧
2 回答<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>為什么用value不用ref
3 回答為什么要我導入commons-logging.jar,使用的不是slf4j+logback嗎
2 回答為什么@Resource注入報錯,@Autowired注入就可以呢??
1 回答為什么在eclipse中不能引入下面這些呢
2 回答spring整合mybatis時 sqlsessionfactory 找不到是什么問題呢
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2018-07-17
因為? value 屬性需要一個正確并且存在的值, ,如果配置文件出錯,或者沒被加載,整個dataSource 就不存在,那么sqlSessionFactory 也是 錯誤的,不存在的值, value值就不存在。??
使用ref 屬性,就會出現(xiàn),不管這個引入的值對不對,都會被使用。但實際會因為這個值不存在,導致異常
2018-05-05
在mybatis-spring 1.1.0以前,是通過<property name="sqlSessionFactory" ref="sqlSessionFactory"/>將SqlSessionFactory對象注入到sqlSessionFactory,這樣做可能會有一個問題,就是在初始化MyBatis時,jdbc.properties文件還沒被加載進來,dataSource的屬性值沒有被替換,就開始構(gòu)造sqlSessionFactory類,屬性值就會加載失敗。在1.1.0以后,MapperScannerConfigure提供了String類型的sqlSessionFactoryBeanName,這樣將bean name注入到sqlSessionFactoryBeanName,這樣就會等到spring初始化完成后,再構(gòu)建sqlSessionFactory。