Spring EL Beanリファレンスの例
Spring ELでは、 ‘
ドット(。)
‘記号を使ってBeanとネストされたプロパティを参照することができます。たとえば、 ”
bean.property__name
“と入力します。
public class Customer { @Value("#{addressBean.country}") private String country;
上記コードスニペットでは、 ”
address
bean
“の ”
country
“プロパティの値を現在の ”
customer
“クラス、 ”
country ** “プロパティに注入します。
AnnotationのSpring EL
以下の例を参照して、SpELを使用してBean、Beanプロパティ、およびそのメソッドを参照する方法を説明します。
package com.mkyong.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('mkyong')}") private String fullAddress; //getter and setter methods @Override public String toString() { return "Customer[address=" + address + "\n, country=" + country + "\n, fullAddress=" + fullAddress + "]"; } }
package com.mkyong.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=mkyong : Block ABC, LakeView 98700 US].... === XMLのSpring EL Bean定義XMLファイルの同等のバージョンを参照してください。
<beans xmlns=”http://www.springframework.org/schema/beans”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd”>
;
<bean id="customerBean" class="com.mkyong.core.Customer"> <property name="address" value="#{addressBean}"/> <property name="country" value="#{addressBean.country}"/> <property name="fullAddress" value="#{addressBean.getFullAddress('mkyong')}"/> </bean>
<bean id="addressBean" class="com.mkyong.core.Address"> <property name="street" value="Block ABC, LakeView"/> <property name="postcode" value="98700"/> <property name="country" value="US"/> </bean>
</beans>
=== ソースコードをダウンロードする ダウンロードする - リンク://wp-content/uploads/2011/06/Spring3-EL-Bean-Reference-Example.zip[Spring3-EL-Bean-Reference-Example.zip](6 KB) link://tag/spring-el/[spring el]link://tag/spring3/[spring3]