学习spring过程看的笔记(一)
笔记整理来源于【张开涛的 跟我学spring 】
源url: http://jinnianshilongnian.iteye.com/blog/1416581
1、ResourceLoader不支持前缀“classpath*:”。ResourcePatternResolver接口继承了ResourceLoader并添加了“Resource[] getResources(String locationPattern)”用来加载多个Resource
2、“file”:加载一个或多个文件系统中的Resource。如“file:D:/*.txt”将返回D盘下的所有txt文件;
3、AppliacationContext
{ClassPathXmlApplicationContext、FileSystemXmlApplicationContext}
对各种Resource的支持 :getResource ()
4、 SpEL是单独模块,只依赖于core模块
5、what SpEL can do?
一、基本表达式:字面量表达式、关系,逻辑与算数运算表达式、字符串连接及截取表达式、三目运算及Elivis表达式、正则表达式、括号优先级表达式;
二、类相关表达式:类类型表达式、类实例化、instanceof表达式、变量定义及引用、赋值表达式、自定义函数、对象属性存取及安全导航表达式、对象方法调用、Bean引用;
三、集合相关表达式:内联List、内联数组、集合,字典访问、列表,字典,数组修改、集合投影、集合选择;不支持多维内联数组初始化;不支持内联字典定义;
四、其他表达式:模板表达式。
SpEL表达式中的关键字是不区分大小写的
6、SpEL工作原理
1)首先定义表达式:“1+2”;
2)定义解析器ExpressionParser实现,SpEL提供默认实现SpelExpressionParser;2.1)SpelExpressionParser解析器内部使用Tokenizer类进行词法分析,即把字符串流分析为记号流,记号在SpEL使用Token类来表示;2.2)有了记号流后,解析器便可根据记号流生成内部抽象语法树;在SpEL中语法树节点由SpelNode接口实现代表:如OpPlus表示加操作节点、IntLiteral表示int型字面量节点;使用SpelNodel实现组成了抽象语法树;2.3)对外提供Expression接口来简化表示抽象语法树,从而隐藏内部实现细节,并提供getValue简单方法用于获取表达式值;SpEL提供默认实现为SpelExpression;3)定义表达式上下文对象(可选),SpEL使用EvaluationContext接口表示上下文对象,用于设置根对象、自定义变量、自定义函数、类型转换器等,SpEL提供默认实现StandardEvaluationContext;
4)使用表达式对象根据上下文对象(可选)求值(调用表达式对象的getValue方法)获得结果。
转载于:https://blog.51cto.com/13588844/2318692
学习spring过程看的笔记(一)相关推荐
- 学习Spring,看这几本书就够了
如果想看更多技术好书,可以关注微信公众号[程序员书单]作者黄小斜,目前是阿里Java工程师,业余时间广泛读书,在公众号里除了分享程序员必读的技术书籍之外,也会推荐很多关于个人成长.投资理财等方面的书籍 ...
- 学习HTML过程中的笔记
跳过的知识 CSS章节跳过 内置框架 http://www.w3school.com.cn/html/html_iframe.asp 跨行或跨列的表格单元格 本例演示如何定义跨行或跨列的表格单元格.链 ...
- spring源码深度解析 第2版 pdf_吹爆!阿里爆款Spring源码高级笔记,原来看懂源码如此简单...
Spring的影响力想必无需与大家多说,如果你用spring,那么读读源码有助于对你最重要的工具的理解,好的框架源码也可以帮助我们理解什么是好代码. 刚参加工作那会,没想过去读源码,更没想过去改框架的 ...
- 吹爆!阿里新产Spring源码高级笔记,原来看懂源码如此简单
Spring的影响力想必无需与大家多说,如果你用spring,那么读读源码有助于对你最重要的工具的理解,好的框架源码也可以帮助我们理解什么是好代码. 刚参加工作那会,没想过去读源码,更没想过去改框架的 ...
- 自己学习c++过程中写下的笔记,只做基础了解使用
01书写helloworld #include <iostream> using namespace std;int main() {cout << "Hello W ...
- 我该如何学习spring源码以及解析bean定义的注册
如何学习spring源码 前言 本文属于spring源码解析的系列文章之一,文章主要是介绍如何学习spring的源码,希望能够最大限度的帮助到有需要的人.文章总体难度不大,但比较繁重,学习时一定要耐住 ...
- 源码解析:Spring源码解析笔记(五)接口设计总览
本文由colodoo(纸伞)整理 QQ 425343603 Java学习交流群(717726984) Spring解析笔记 启动过程部分已经完成,对启动过程源码有兴趣的朋友可以作为参考文章. 源码解析 ...
- 《Spring实战》读书笔记-第4章 面向切面的Spring
<Spring实战>是学习Spring框架的一本非常经典的书籍,之前阅读了这本书,只是在书本上写写画画,最近整理了一下<Spring实战>的读书笔记,通过博客的方式进行记录分享 ...
- python自学攻略-大牛整理!Python学习方法和学习路线,看完茅塞顿开!
原标题:大牛整理!Python学习方法和学习路线,看完茅塞顿开! Python 是一种极具可读性和通用性的编程语言.Python 这个名字的灵感来自于英国喜剧团体 Monty Python,它的开发团 ...
最新文章
- 程矢Axure夜话:Axure手机原型视频教程之中继器上下滑动加载更多
- 查找数组中未出现的和出现2次的数值 Set Mismatch
- [译] 虚拟现实是如何改变用户体验的:从原型到设备的设计
- 14门教程带你全面入门Linux
- 使用replace pioneer批量修改文件名
- Java IdentityHashMap isEmpty()方法与示例
- 有多少漏洞都会重来:从ElasticSearch到MongoDB和Redis
- 用Python告诉你,为什么宇宙的尽头是公务员!
- RAC 中 ASM 实例名 与 节点的对应关系
- vue-props入门
- PAT之STL:vector、set、map、stack、queue
- 极客大学架构师训练营 组件设计原则 安全架构 防火墙ModSecurity 第21课 听课总结
- 什么是二叉平衡树,如何插入节点,删除节点,说出关键步骤。
- vue.js开发微信公众号加载缓慢出现的白页问题-随笔
- DIRECTSHOW中的视频捕捉
- 【淘宝商家应用接口】拼多多平台流量解析,如何充分利用平台分配的流量?
- 腾讯QQ被盗的形式及密码保护技巧(转)
- 计算机上如何使用文件管理器,苹果iphone iFiles文件管理器使用图文教程
- 简师网:考上教编才知道,小学教师和中学教师有这些差别!
- Zion无代码赋能企业中台构建