@Value的用法及(“#{}“)與@Value(“${}“)的區別


@Component public class Person { @Value("#{11*20}") private int age; @Value("true") private boolean merry; @Value("${person.name}") private String name; } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

1、@Value("#{}") Spring 表達式語言(簡稱SpEL)

SpEL 字面量
整數:#{8}
小數:#{8.8}
科學計數法:#{1e4}
String:可以使用單引號或者雙引號作為字符串的定界符號。
Boolean:#{true}
SpEL引用bean , 屬性和方法
引用其他對象:#{car}
引用其他對象的屬性:#{car.brand}
調用其它方法 , 還可以鏈式操作:#{car.toString()}
調用靜態方法靜態屬性:#{T(java.lang.Math).PI}

SpEL支持的運算符號:

算術運算符:+,-,*,/,%,^(加號還可以用作字符串連接)
比較運算符:< , > , == , >= , <= , lt , gt , eg , le , ge
邏輯運算符:and , or , not , |
if-else 運算符(類似三目運算符):?:(temary), ?:(Elvis)
正則表達式:#{admin.email matches ‘[a-zA-Z0-9._%±]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}’}

2.@Value(“true”) 直接賦值

3.@Value("${person.name}")

//從配置文件application.properties中取值 @Value("${person.name}") String REAL_NAME 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM