Ссылочный пример боба Spring EL
В Spring EL вы можете ссылаться на bean-компонент и вложенные свойства с помощью символа «dot (.)». Например, «bean.property_name».
public class Customer {
@Value("#{addressBean.country}")
private String country;
В приведенном выше фрагменте кода он вставляет значение свойства «country» из bean-компонента «addressBean» в текущий класс «customer», свойство «country».
Spring EL в аннотации
В следующем примере показано, как использовать SpEL для ссылки на bean-компонент, свойство bean-компонента, а также его метод.
package com.example.core;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component("customerBean")
public class Customer {
@Value("#{addressBean}")
private Address address;
@Value("#{addressBean.country}")
private String country;
@Value("#{addressBean.getFullAddress('example')}")
private String fullAddress;
//getter and setter methods
@Override
public String toString() {
return "Customer [address=" + address + "\n, country=" + country
+ "\n, fullAddress=" + fullAddress + "]";
}
}
package com.example.core;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component("addressBean")
public class Address {
@Value("Block ABC, LakeView")
private String street;
@Value("98700")
private int postcode;
@Value("US")
private String country;
public String getFullAddress(String prefix) {
return prefix + " : " + street + " " + postcode + " " + country;
}
//getter and setter methods
public void setCountry(String country) {
this.country = country;
}
@Override
public String toString() {
return "Address [street=" + street + ", postcode=" + postcode
+ ", country=" + country + "]";
}
}
Запустить его
Customer obj = (Customer) context.getBean("customerBean");
System.out.println(obj);
Выход
Customer [address=Address [street=Block ABC, LakeView, postcode=98700, country=US] , country=US , fullAddress=example : Block ABC, LakeView 98700 US]
Spring EL в XML
Смотрите эквивалентную версию в XML-файле определения компонента.
Скачать исходный код
Скачать -Spring3-EL-Bean-Reference-Example.zip (6 КБ)