在實際項目中,也許有這樣的需求,在方法上配置切面Aspect來蒐集日誌,或者業務數據落庫。就需要配置佔位符來統一處理了,下面是demo,僅供參考學習。
main方法:
public static void main(String[] args) throws IOException, ClassNotFoundException {
Map<String,Object> map = new HashMap<>();
//添加普通變量
map.put("name","張三");
UserDo userDo = new UserDo();
userDo.setUserName("李四");
userDo.setAge(18);
//添加域對象
map.put("user",userDo);
Object name = new SimpleTemplateEngine().createTemplate("${name}").make(map);
//佔位符在實際項目中,用來取值,比如,切面的返回值,Object user = joinPoint.proceed();
String placeHolder = "${user.userName}";
Object userName = new SimpleTemplateEngine().createTemplate(placeHolder).make(map);
Object age = new SimpleTemplateEngine().createTemplate("${user.age}").make(map);
String ss = Optional.ofNullable(name.toString()).orElse("");
System.out.println(ss);
System.out.println(userName);
System.out.println(age);
}
pom座標:
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.4.15</version>
</dependency>
執行結果:
張三
李四
18