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]