Java Spring里com.mysql.jdbc.Driver的加载时机
Beans.xml里定義的dataSource bean:
通過調試,發現AbstractApplicationContext的finishBeanFactoryInitialization方法執行完之后,INFO: Loaded JDBC driver: com.mysql.jdbc.Driver就打印了出來:
beanFactory.preInstantiateSingletons():
DefaultListableBeanFactory里維護了從Beans.xml里成功解析出的bean 定義:
Bean實例成功創建后,進入applyMergedBeanDefinitionPostProcessors:
一旦populateBean方法執行完畢之后,Loaded JDBC driver:com.mysql.jdbc.Drive的消息就打印出來了:
拿到這個bean的四個屬性名稱:
此處將屬性對應的值賦上:applyPropertyValues
解析出鍵值對:
待設置的屬性值為:com.mysql.jdbc.Driver
依然是通過反射的方式去設置:
待設置值的實例為:org.springframework.jdbc.datasource.DriverManagerDataSource@1356d4d4
在第127行進行加載:Class.forName(driverClassNameToUse, true, ClassUtils.getDefaultClassLoader());
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的Java Spring里com.mysql.jdbc.Driver的加载时机的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 追缴并罚款545.8万元!又一网络主播偷
- 下一篇: 锐龙7000X3D处理器连烧数起 主板厂