Ссылочный пример боба 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 КБ)