原创 多線程解決導出excel性能問題

單線程導出瓶頸: 表數據量大 導出內容涉及多個表,完善訂單商品信息慢 頁面阻塞,影響用戶體驗 多線程導出優點 處理速度快 異步導出,可以先返回結果給頁面 多線程導出思路: 多個線程完善訂單信息,另起一個線程拿到所有數據後導出

原创 Oracle數據庫WM_CONCAT函數問題

項目中原有的sql語句使用了WM_CONCAT函數,這個函數在oracle12c的版本里不識別,要更換成 listagg(..) within group(..)的函數 select listagg(t.name,',') within

原创 java集合框架之HashMap(jdk1.7)

java集合框架之HashMap(jdk1.7)HashMap的數據結構常量重要屬性HashMap 的實例有兩個參數影響其性能默認加載因子是 0.75構造器部分APIput新增EntryputAllgetgetEntryremovee

原创 數據結構之哈希(hash)表

數據結構之哈希(hash)表哈希表的定義哈希衝突哈希衝突解決辦法開發定址法鏈地址法關於哈希表的性能 緣起: 最近開始詳細看 jdk 源碼的集合工具類,其中很多用到哈希表來存儲數據,所以先了解下哈希表的原理 註釋:本篇引用自數據結構之哈

原创 mybatis與spring的整合之SqlSessionTemplate

mybatis與spring的整合之SqlSessionTemplate使用 SqlSessionSqlSessionTemplate源碼SqlSessionTemplate構造方法一個入參兩個入參三個入參動態代理創建sqlSessi

原创 mybatis與spring的整合之SqlSessionFactoryBean

mybatis與spring的整合之SqlSessionFactoryBeanSqlSessionFactoryBean配置注入mapperLocations注入configLocationmapperLocations與config

原创 mybatis與spring的整合之ClassPathMapperScanner

mybatis與spring的整合之ClassPathMapperScannerjava配置應用配置類源碼分析@MapperScanMapperScannerRegistrar.registerBeanDefinitionsClass

原创 mybatis與spring的整合之MapperScannerConfigurer

mybatis與spring的整合之MapperScannerConfigurer項目結構編寫`mapper接口`也就是 `dao` 層與`mapper接口`對應的`sql配置文件`交由spring管理源碼分析SqlSessionFa

原创 mybatis核心組件之MapperAnnotationBuilder

mybatis核心組件之MapperAnnotationBuilderMapperAnnotationBuilder構造函數parse解析xml與註解loadXmlResource()解析映射接口對應的xml文件設置二級緩存parse

原创 mybatis與spring的整合以及源碼分析

mybatis與spring的整合以及源碼分析MyBatis-Spring官網xml配置應用SqlSessionFactory屬性注入數據映射器接口類MapperFactoryBean屬性注入調用 MyBatis 數據方法源碼分析Ma

原创 spring加載流程refresh之finishBeanFactoryInitialization(beanFactory)

實例化所有BeanAbstractApplicationContext.finishBeanFactoryInitialization()判斷是否有bdName爲conversionService的bd(實現ConversionSer

原创 spring加載流程refresh之initMessageSource()

國際化語言的支持,又不出國編程,暫不研究(先預留個空位置)。。。

原创 spring加載流程refresh之registerBeanPostProcessors(beanFactory)

spring加載流程之註冊BeanPostProcessor註冊BeanPostProcessor獲取容器中bd類型爲BeanPostProcessor的bdNamespring默認的3個類型爲BeanPostProcessor的bd

原创 spring加載流程refresh之initApplicationEventMulticaster()

初始化事件監聽多路廣播器初始化事件監聽多路廣播器註冊SimpleApplicationEventMulticaster 初始化事件監聽多路廣播器 /** * 初始化事件監聽多路廣播器 */ initApplicationEvent

原创 spring加載流程refresh之registerListeners()

註冊監聽器registerListeners通過addApplicationListener(listen)註冊監聽器自定義實現ApplicationListen接口的bd發佈早期的監聽器 緣起: 繼註冊了發佈事件的bd後spring