- 名師講壇:Spring實戰開發(Redis+SpringDataJPA+SpringMVC+SpringSecurity)
- 李興華
- 466字
- 2020-04-24 14:20:48
5.1 Spring表達式基本定義
在Spring中為了方便開發者進行解耦和設計,可以使用字符串來進行一些特殊含義的描述,但是考慮到實際開發的復雜性,Spring開發框架進一步加強了字符串的功能,推出了Spring表達式語言(Spring Expression Language,SpEL),通過SpEL使得字符串不僅僅可以實現一些基礎的計算功能,還以根據表達式實現對象實例化或者是進行一些復雜的配置文件的編寫。
范例:【mldnspring-base模塊】定義Spring表達式。

本程序實現了一個最基礎的表達式處理,主要功能是字符串截取處理。最為關鍵的是字符串中所有的程序代碼都可以正常執行,而這就是SpEL的核心所在。要想實現這一功能,需要如下輔助類的支持。
表達式解析器:org.springframework.expression.ExpressionParser。
|- 主要是負責為給定的表達式進行內容的解析操作處理的接口標準。
|- 利用SpEL的標準表達式處理子類SpelExpressionParser為ExpressionParser接口實例化。
表達式執行類:org.springframework.expression.Expression。
|- 通過此類可以得到最終計算結果。
表達式計算:org.springframework.expression.EvaluationContext。
|- 計算處理上下文,主要可以實現一些表達式變量的處理,并且實現表達式計算。
范例:【mldnspring-base模塊】在表達式中使用變量。

本程序實現了與之前類似的功能,在定義表達式的時候采用了變量形式#start、#end,這樣就可以在進行計算前設置變量內容,以實現表達式計算。
推薦閱讀
- Android Application Development Cookbook(Second Edition)
- Terraform:多云、混合云環境下實現基礎設施即代碼(第2版)
- Learning PHP 7
- CRYENGINE Game Development Blueprints
- Python數據可視化之美:專業圖表繪制指南(全彩)
- Shopify Application Development
- Moodle 3.x Developer's Guide
- Building Web and Mobile ArcGIS Server Applications with JavaScript(Second Edition)
- Serverless工程實踐:從入門到進階
- Expert Cube Development with SSAS Multidimensional Models
- HTML5 Boilerplate Web Development
- 小學生C++編程課堂(新手篇)
- Activiti權威指南
- 企業應用架構模式
- WebGIS之Leaflet全面解析