最后的 SPRING
其核心JAR包spring-web-5.2.0.RELEASE.jar和spring-core-5.2.0.RELEASE.jar的大小均為1.4MB左右
基于工廠模式實現(xiàn)對象的創(chuàng)建
添加了國際化、事件傳播、資源加載和透明地創(chuàng)建上下文等功能
Web模塊基于Servlet監(jiān)聽器初始化IoC容器
@Bean 注解在方法上,聲明該方法的返回值為一個Bean實例
singleton、prototype、request、session和 global session
@PropertySource 聲明和加載配置文件
@Async
@Scheduled
@EnableXXX 開啟功能支持
@Enable Configuration Properties 開啟對@Configuration Properties注解配置Bean的支持
@ExceptionHandler 用于全局控制器的異常處理
其中Bean緩存池為 Hash Map實現(xiàn)
對有狀態(tài)的Bean經(jīng)常使用 Prototype
將配置存儲到服務器中進行集中化管理
監(jiān)聽和傳播集群中事件的狀態(tài)的變化
將服務注冊到注冊中心,并與注冊中心保持心跳連接
服務注冊、發(fā)現(xiàn)和配置工具
服務負載過高或服務故障時的容錯處理機制
通用網(wǎng)關,動態(tài)路由
動態(tài)化屬性配置和驗證、線程安全配置操作、輪詢框架、回調(diào)機制等??
通過OAuth 2.0協(xié)議綁定服務到
日志收集工具包
分布式鏈路追蹤
混合計算模型,結合了流式數(shù)據(jù)與批量數(shù)據(jù)
隨機負載、輪詢負載等
健康指標數(shù)據(jù)
聲明式、模板化的HTTP訪問客戶端
集群任務的統(tǒng)一管理和調(diào)度工具
常見狀態(tài)模式的抽象和實現(xiàn)
LeaderShip(選舉)
image.png
image.png
image.png
Spring默認的代理對象生成策略為:如果是目標類接口,則使用JDK動態(tài)代理技術,否則使用CGLib動態(tài)代理技術。
CGLib動態(tài)代理和JDK動態(tài)代理的區(qū)別:JDK只能為接口創(chuàng)建代理實例,而對于沒有通過接口定義業(yè)務方法的類,則只能通過CGLib創(chuàng)建動態(tài)代理來實現(xiàn)
DispatcherServlet會把請求分發(fā)給各個處理器
準備階段 & 提交階段
SqlSession級別的緩存,一級緩存最多能緩存1024條SQL語句
Mapper級別的緩存
在對應的Mapper.xml中配置Cache節(jié)點
在對應的Select查詢節(jié)點中添加useCache=true
支持透明數(shù)據(jù)審查(新增數(shù)據(jù)、最后一次修改數(shù)據(jù))??
對流數(shù)據(jù)實時分析的支持??

浙公網(wǎng)安備 33010602011771號