最后的 SPRING

其核心JAR包spring-web-5.2.0.RELEASE.jar和spring-core-5.2.0.RELEASE.jar的大小均为1.4MB左右
基于工厂模式实现对象的创建
添加了国际化、事件传播、资源加载和透明地创建上下文等功能
Web模块基于Servlet监听器初始化IoC容器
@Bean 注解在方法上,声明该方法的返回值为一个Bean实例
singleton、prototype、request、session和 global session
@PropertySource 声明和加载配置文件
@Async
@Scheduled
@EnableXXX 开启功能支持
@Enable Configuration Properties 开启对@Configuration Properties注解配置Bean的支持
@ExceptionHandler 用于全局控制器的异常处理
其中Bean缓存池为 Hash Map实现
对有状态的Bean经常使用 Prototype

将配置存储到服务器中进行集中化管理
监听和传播集群中事件的状态的变化
将服务注册到注册中心,并与注册中心保持心跳连接
服务注册、发现和配置工具
服务负载过高或服务故障时的容错处理机制
通用网关,动态路由
动态化属性配置和验证、线程安全配置操作、轮询框架、回调机制等??
通过OAuth 2.0协议绑定服务到
日志收集工具包
分布式链路追踪
混合计算模型,结合了流式数据与批量数据
随机负载、轮询负载等
健康指标数据
声明式、模板化的HTTP访问客户端
集群任务的统一管理和调度工具
常见状态模式的抽象和实现
LeaderShip(选举)

image.png
image.png
image.png
Spring默认的代理对象生成策略为:如果是目标类接口,则使用JDK动态代理技术,否则使用CGLib动态代理技术。
CGLib动态代理和JDK动态代理的区别:JDK只能为接口创建代理实例,而对于没有通过接口定义业务方法的类,则只能通过CGLib创建动态代理来实现
DispatcherServlet会把请求分发给各个处理器
准备阶段 & 提交阶段
SqlSession级别的缓存,一级缓存最多能缓存1024条SQL语句
Mapper级别的缓存
在对应的Mapper.xml中配置Cache节点
在对应的Select查询节点中添加useCache=true
支持透明数据审查(新增数据、最后一次修改数据)??
对流数据实时分析的支持??

posted @ 2022-07-21 10:48  时生行  阅读(26)  评论(0编辑  收藏  举报