笔记整理来源于【张开涛的 跟我学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过程看的笔记(一)相关推荐

  1. 学习Spring,看这几本书就够了

    如果想看更多技术好书,可以关注微信公众号[程序员书单]作者黄小斜,目前是阿里Java工程师,业余时间广泛读书,在公众号里除了分享程序员必读的技术书籍之外,也会推荐很多关于个人成长.投资理财等方面的书籍 ...

  2. 学习HTML过程中的笔记

    跳过的知识 CSS章节跳过 内置框架 http://www.w3school.com.cn/html/html_iframe.asp 跨行或跨列的表格单元格 本例演示如何定义跨行或跨列的表格单元格.链 ...

  3. spring源码深度解析 第2版 pdf_吹爆!阿里爆款Spring源码高级笔记,原来看懂源码如此简单...

    Spring的影响力想必无需与大家多说,如果你用spring,那么读读源码有助于对你最重要的工具的理解,好的框架源码也可以帮助我们理解什么是好代码. 刚参加工作那会,没想过去读源码,更没想过去改框架的 ...

  4. 吹爆!阿里新产Spring源码高级笔记,原来看懂源码如此简单

    Spring的影响力想必无需与大家多说,如果你用spring,那么读读源码有助于对你最重要的工具的理解,好的框架源码也可以帮助我们理解什么是好代码. 刚参加工作那会,没想过去读源码,更没想过去改框架的 ...

  5. 自己学习c++过程中写下的笔记,只做基础了解使用

    01书写helloworld #include <iostream> using namespace std;int main() {cout << "Hello W ...

  6. 我该如何学习spring源码以及解析bean定义的注册

    如何学习spring源码 前言 本文属于spring源码解析的系列文章之一,文章主要是介绍如何学习spring的源码,希望能够最大限度的帮助到有需要的人.文章总体难度不大,但比较繁重,学习时一定要耐住 ...

  7. 源码解析:Spring源码解析笔记(五)接口设计总览

    本文由colodoo(纸伞)整理 QQ 425343603 Java学习交流群(717726984) Spring解析笔记 启动过程部分已经完成,对启动过程源码有兴趣的朋友可以作为参考文章. 源码解析 ...

  8. 《Spring实战》读书笔记-第4章 面向切面的Spring

    <Spring实战>是学习Spring框架的一本非常经典的书籍,之前阅读了这本书,只是在书本上写写画画,最近整理了一下<Spring实战>的读书笔记,通过博客的方式进行记录分享 ...

  9. python自学攻略-大牛整理!Python学习方法和学习路线,看完茅塞顿开!

    原标题:大牛整理!Python学习方法和学习路线,看完茅塞顿开! Python 是一种极具可读性和通用性的编程语言.Python 这个名字的灵感来自于英国喜剧团体 Monty Python,它的开发团 ...

最新文章

  1. 程矢Axure夜话:Axure手机原型视频教程之中继器上下滑动加载更多
  2. 查找数组中未出现的和出现2次的数值 Set Mismatch
  3. [译] 虚拟现实是如何改变用户体验的:从原型到设备的设计
  4. 14门教程带你全面入门Linux
  5. 使用replace pioneer批量修改文件名
  6. Java IdentityHashMap isEmpty()方法与示例
  7. 有多少漏洞都会重来:从ElasticSearch到MongoDB和Redis
  8. 用Python告诉你,为什么宇宙的尽头是公务员!
  9. RAC 中 ASM 实例名 与 节点的对应关系
  10. vue-props入门
  11. PAT之STL:vector、set、map、stack、queue
  12. 极客大学架构师训练营 组件设计原则 安全架构 防火墙ModSecurity 第21课 听课总结
  13. 什么是二叉平衡树,如何插入节点,删除节点,说出关键步骤。
  14. vue.js开发微信公众号加载缓慢出现的白页问题-随笔
  15. DIRECTSHOW中的视频捕捉
  16. 【淘宝商家应用接口】拼多多平台流量解析,如何充分利用平台分配的流量?
  17. 腾讯QQ被盗的形式及密码保护技巧(转)
  18. 计算机上如何使用文件管理器,苹果iphone iFiles文件管理器使用图文教程
  19. 简师网:考上教编才知道,小学教师和中学教师有这些差别!
  20. Zion无代码赋能企业中台构建

热门文章

  1. javascript中操作字符串小结
  2. 如何编写YARN应用程序
  3. Mahout学习路线图
  4. 几个机器学习算法及应用领域相关的中国大牛
  5. 【python图像处理】彩色映射(续篇)
  6. 深度学习基本概念的了解
  7. 神奇的nginx之https支持
  8. mysql 创建和删除用户
  9. 安卓开发日记(1) - 安装 Android 开发环境和 first app
  10. 图像处理之log---log算子