您好,登錄后才能下訂單哦!
這篇文章主要介紹“Spring表達式語言SpEL的用法”,在日常操作中,相信很多人在Spring表達式語言SpEL的用法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Spring表達式語言SpEL的用法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
通過Bean的id對Bean進行引用 調用方法及引用對象的屬性 計算表達式的值 正則表達式匹配
字面量的表示:
整型:#{5} 小數:#{3.45} 科學計數法:#[1e4] 字符串:可以使用單引號或雙引號早味字符串的定界符:#{'tom'},#{"tom"} 布爾值:#{false}
SpEL支持的運算符號:+ - * / % ^ < > == <= >= lt gt eq le ge and or not | (?:) if-else 正則表達式等等
調用靜態屬性和方法:通過T()
以下代碼均忽略類中的getter、setter和to_string方法。
Car.java
package com.gong.spring.beans.spel;public class Car { public Car() { } public Car(String name) { this.name = name; } private String name; //輪胎周長 private double tyrePerimeter; private double price;}
Address.java
package com.gong.spring.beans.spel;public class Address { private String city; private String street;}
Student.java
package com.gong.spring.beans.spel;public class Student { private String name; private int age; private double score; private String city; private String info; private Car car; private Address address;}
beans-spel.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="car" class="com.gong.spring.beans.spel.Car" p:name="baoma" p:tyrePerimeter="#{T(java.lang.Math).PI*80}"></bean> <bean id="address" class="com.gong.spring.beans.spel.Address" p:city="武漢" p:street="#{'絡南街道'}"></bean> <bean id="student" class="com.gong.spring.beans.spel.Student" p:name="tom" p:age="#{12}" p:score="#{99.00}"> <!-- 使用spel引用其它的bean --> <property name="car" value="#{car}"></property> <!-- 使用spel引用其它bean的屬性 --> <property name="city" value="#{address.city}"></property> <!-- 使用spel運算符 ,進行動態賦值--> <property name="info" value="#{car.price >300000 ? '有錢' : '沒錢'}"></property> </bean></beans>
Main.java
package com.gong.spring.beans.spel;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Main { public static void main(String[] args) { //1.創建spring的IOC容器對象 ApplicationContext ctx = new ClassPathXmlApplicationContext("beans-spel.xml"); //2.從容器中獲取Bean實例 Student student = (Student) ctx.getBean("student"); System.out.println(student.toString()); }}
到此,關于“Spring表達式語言SpEL的用法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。