Spring EL Beanのリファレンス例
Spring ELでは、 ‘dot (.)‘シンボルを使用してBeanおよびネストされたプロパティを参照できます。 たとえば、「bean.property_name」。
public class Customer { @Value("#{addressBean.country}") private String country;
上記のコードスニペットでは、「addressBean」Beanの「country」プロパティの値を現在の「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]
XMLのSpring EL
Bean定義XMLファイルで同等のバージョンを参照してください。
ソースコードをダウンロード
ダウンロード–Spring3-EL-Bean-Reference-Example.zip(6 KB)