最后的 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
支持透明数据审查(新增数据、最后一次修改数据)??
对流数据实时分析的支持??
最后的 SPRING的更多相关文章
- 基于spring注解AOP的异常处理
一.前言 项目刚刚开发的时候,并没有做好充足的准备.开发到一定程度的时候才会想到还有一些问题没有解决.就比如今天我要说的一个问题:异常的处理.写程序的时候一般都会通过try...catch...fin ...
- 玩转spring boot——快速开始
开发环境: IED环境:Eclipse JDK版本:1.8 maven版本:3.3.9 一.创建一个spring boot的mcv web应用程序 打开Eclipse,新建Maven项目 选择quic ...
- Spring基于AOP的事务管理
Spring基于AOP的事务管理 事务 事务是一系列动作,这一系列动作综合在一起组成一个完整的工作单元,如果有任何一个动作执行失败,那么事务 ...
- [Spring]IoC容器之进击的注解
先啰嗦两句: 第一次在博客园使用markdown编辑,感觉渲染样式差强人意,还是github的样式比较顺眼. 概述 Spring2.5 引入了注解. 于是,一个问题产生了:使用注解方式注入 JavaB ...
- 学习AOP之透过Spring的Ioc理解Advisor
花了几天时间来学习Spring,突然明白一个问题,就是看书不能让人理解Spring,一方面要结合使用场景,另一方面要阅读源代码,这种方式理解起来事半功倍.那看书有什么用呢?主要还是扩展视野,毕竟书是别 ...
- 学习AOP之深入一点Spring Aop
上一篇<学习AOP之认识一下SpringAOP>中大体的了解了代理.动态代理及SpringAop的知识.因为写的篇幅长了点所以还是再写一篇吧.接下来开始深入一点Spring aop的一些实 ...
- 学习AOP之认识一下Spring AOP
心碎之事 要说知道AOP这个词倒是很久很久以前了,但是直到今天我也不敢说非常的理解它,其中的各种概念即抽象又太拗口. 在几次面试中都被问及AOP,但是真的没有答上来,或者都在面上,这给面试官的感觉就是 ...
- 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?
今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑 ...
- Spring之旅(2)
Spring简化Java的下一个理念:基于切面的声明式编程 3.应用切面 依赖注入的目的是让相互协作的组件保持松散耦合:而AOP编程允许你把遍布应用各处的功能分离出来形成可重用的组件. AOP面向切面 ...
- Spring之旅
Java使得以模块化构建复杂应用系统成为可能,它为Applet而来,但为组件化而留. Spring是一个开源的框架,最早由Rod Johnson创建.Spring是为了解决企业级应用开发的复杂性而创建 ...
随机推荐
- AR Engine毫秒级平面检测,带来更准确的呈现效果
近年来,AR版块成为时下大热,这是一种将现实环境中不存在的虚拟物体融合到真实环境里的技术,用户借助显示设备可以拥有真实的感官体验.AR的应用场景十分广泛,涉及娱乐.社交.广告.购物.教育等领域:AR可 ...
- RA-Depth: Resolution Adaptive Self-Supervised Monocular Depth Estimation
注:刚入门depth estimation,这也是以后的主要研究方向,欢迎同一个方向的加入QQ群(602708168)交流. 1. 论文简介 论文题目:RA-Depth: Resolution Ada ...
- ECharts 饼图切换数据源bug 开始没数据显示 切换或刷新后显示
1.出现问题原因 一个饼图,右上方两个按钮分别为今天和本月,分别调用不同接口控制,点击则调用不同接口同时饼图绑定数据源刷新:出现此问题原因点击今日按钮有一个饼图区域形没有数据不显示,对应数据值比例都没 ...
- 磁盘有限,Docker 垃圾很多怎么办
你的电脑上可能 pull 或者 build 了很多 Docker 镜像,但是你不知道怎么清理,本文将介绍如何清理 Docker 垃圾的常见方法. docker prune 你可以通过原生的多种 pru ...
- CSU2022-2023C语言期中考试机试
卡在出线概率了.40%,没想到遍历时反了,我去. 1.时钟加法 题目描述 小南最近迷上了各种形式的加法,例如时钟加法,时钟加法是指给定一个当前时间,其形式为h:m:s,计算加上n秒后新的时间.你能帮他 ...
- LG P4449 & JZOJ 于神之怒
\(\text{Problem}\) JZOJ上,求 \[\sum_{i=1}^n \sum_{j=1}^m \gcd(i,j)^k \] 对 \(10^9+7\) 取模 \(n,m,k \le 5 ...
- CF796C Bank Hacking
题目传送门 思路 放眼整个题解区没有我这种解法,因此来写一篇题解. 既然要求我们选择一个节点作为根,那么我们就枚举根. 接下来的问题就是如何 \(\mathcal{O}(1)\) 或 \(\mathc ...
- PG统计信息和系统表
一.PG统计信息概述 pg的统计信息主要分为两种: 第一类统计信息是是负载指标"统计信息"(Monitoring stats),通过stat collector进程进行实时采集更新 ...
- pat乙级1014 福尔摩斯的约会
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> int ...
- 使用 FPM 将源码包转化为rpm包(技巧)
使用 FPM 将源码包转化为rpm包 1.支持的源类型包 dir: 将目录打包成所需要的类型,可以用于源码编译安装的软件包 rpm: 对rpm进行转换 gem: 对r ...