Spring表達式

SpEL:Spring Expression Language

SpEL特性

  1. 使用Bean的ID來引用Bean
  2. 調用方法和訪問對象的屬性
  3. 對值進行關係、邏輯和算術運算
  4. 正則表達式匹配
  5. 集合操作

對於下面這兩種要有區分:
SpEL形式:#{ … }
屬性佔位符:${ … }

SpEL運算符

算術運算:+、-、*、/、%、^
比較運算:<、>、==、<=、>=、lt、gt、eq、le、ge
邏輯運算:and、or、not、|
條件運算:?:
正則表達式:matches

實例

字面量(浮點數、boolean、String值)

: #{1} 最爲簡單的SpEL表達式

:#{T(java.long.System).currentTimeMillis()}

“T()表達式會將java.lang.System視爲Java中對應的類型,因此可以調用其static修飾的currentTimeMillis()方法”

:#{setBean.selectArtist()?.toUpperCase()}
?. : 表示前面爲空,輸出null,不爲空,打印出對應的字符串的大寫

Bean屬性

:#{setBean.title}

系統屬性

:#{systemProperties[‘spring.data’]}

集合:

:#{jukebox.song[4].title} 集合第五個元素

查詢運算符(.?[])

匹配運算法
{jukebox.songs.?[artist eq ‘alex’]}

查詢第一匹配項和最後一項:
:#{jukebox.songs.^[artist eq ‘alex’]}
:#{jukebox.songs.$[artist eq ‘alex’]}

投影運算符

.![]
:#{jukebox.songs.?[artist eq ‘alex’].![title]}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章