/*
*作者:呆萌老師
*☑csdn認證講師
*☑51cto進階講師
*☑騰訊課堂認證講師
*☑網易雲課堂認證講師
*☑華為開發者學堂認證講師
*☑愛奇藝千人名師計劃成員
*在這裡給大家分享技術、知識和生活
*各種幹貨,記得關注哦!
*/
比如如果隻是引入對象中的某個屬性 可以 用#{}
<bean id="outSeller_05" class="com.test.pojo.OutSeller" p:type="餓了麼"
p:drink-ref="drink_05" />
<bean id="outSeller_06" class="com.test.pojo.OutSeller">
<property name="type" value="#{outSeller_05.type}" />
<property name="drink" ref="drink_05" />
</bean>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>4.3.18.RELEASE</version>
</dependency>
package com.test.spel;
import com.test.pojo.Drink;
import java.util.ArrayList;
import java.util.List;
public class TestSpel {
//成員方法 先建立對象 再調用對象中的方法
// <bean id="testSpel" class="com.test.spel.TestSpel"/>
//#{testSpel.getDrinkList()}
public List<Drink> getDrinkList()
{
List<Drink> list=new ArrayList<Drink>();
list.add(new Drink("奶茶"));
list.add(new Drink("橙汁"));
return list;
}
//靜态方法 可以直接用類名通路 # {T(com.test.spel.TestSpel).getDrinkList2()}
public static List<Drink> getDrinkList2()
{
List<Drink> list=new ArrayList<Drink>();
list.add(new Drink("奶茶2"));
list.add(new Drink("橙汁2"));
return list;
}
}
2.在 spring的配置檔案中的使用
通路成員屬性
#{對象.屬性名}
通路靜态方法
#{T(包名.類名).方法名([參數])}
通路成員方法
#{對象.方法名()}
<bean id="testSpel" class="com.test.spel.TestSpel"/>
<!-- 通路成員方法 -->
<bean id="aa" class="com.test.pojo.AA">
<property name="num" value="#{3*4}" />
<property name="drinkList" value="#{testSpel.getDrinkList()}" />
</bean>
<!-- 通路靜态方法 -->
<bean id="aa2" class="com.test.pojo.AA">
<property name="drinkList" value="#{T(com.test.spel.TestSpel).getDrinkList2()}" />
</bean>