spel(spring expression language)即spring表示式語言,它是一種類似jsp的el表示式,但是又比後者更強大的表示式語言。
例如,經常使用的@value註解,比如:
@value("$")private string baseurl;
其中引數可以為常量字串,如:@value("")
也可以為#{},在大括號類可以為bena的屬性、環境變數,
也可以為${},這時候在大括號類裡面的properties資源檔案的配置項,如:@value("$")
我們的目的是需要記錄操作的日誌,需要具體到某個業務,所以業務的id為動態變化的,如果在每個業務**裡面加入日誌會使得業務**變得更為複雜,所以我們需要自定義註解並且配合使用spel表示式
@target(elementtype.method)@retention(retentionpolicy.runtime)
@documented
public @inte***ce irlog
public string getmodulename()
public string getmodulevalue()
}}
@aspect@component
public
class
irlogaspect
string parsebusinessid = expression.getvalue(context, string.class
);//
logger.info("businessid: {}, modulevalue: {}, dbtime: {}", parsebusinessid, modulevalue, dbtime);
return
joinpoint.proceed();
}}
使用:/issueregulations")
@irlog(moduletype = irlog.moduletype.publish, businessid = "
#regulationsid")
public
void
issueregulations(string regulationsid)
SpEL表示式簡單使用
格式 在spring中有 和spel表示式相似,給乙個類中的double型別字段傳遞引數 public class bean1 public double getnum demo1.xml配置 測試類demo1 public class demo1 顯示結果 傳遞乙個map demo.xml配置 b...
12 4 1 自定義查詢表示式
12.4.1 自定義查詢表示式 原則上,我們可以使用查詢處理任何型別,只要它提供了繫結操作。這是函式式程式設計中這類函式的標準名稱,像上一節型別簽名所展示的。從技術角度來講,我們需要實現一些方法,在把查詢表示式轉換為標準的函式呼叫,由 c 編譯器所使用。我們將為 12.6 節中的 option的型別...
lamda表示式之自定義
package com.lyon.controller public class testlamda public static void main string args ilike like3 new like3 like3.lamda 5.匿名內部類,沒有類名稱,必須借助介面或者父類 ilik...