java如何使用applicationContext中的嵌套属性构造bean。xml?
我有这样的Java类:
public class Config {
public Config1 getConfigOpt1();
public Config2 getConfigOpt2();
}
public class SomeBean {
public Config getEntireConfig();
}
public class BeanToConstruct {
public static BeanToConstruct createAndStart( Config1 config1, Config2 config2 )
}
给定SomeBean
,我会这样构造BeanToConstruction:
SomeBean someBean = ....
BeanToConstruct bean = BeanToConstruct.createAndStart(
someBean.getEntireConfig().getConfigOpt1(),
someBean.getEntireConfig().getConfigOpt2() )
如何在applicationContext中实现这一点。xml?这基本上就是我想做的,但显然行不通。我可以把整个配置对象拉到它自己的bean中,但我不想有这个额外的bean,它只需要让构建BeanToConstruct成为可能
<bean class="com.example.SomeBean" id="someBean"/>
<bean class="com.example.BeanToConstruct" factory-method="createAndStart" id="myBean">
<constructor-arg>
<bean factory-bean="someBean" factory-method="getEntireConfig().getConfigOpt1()"/>
</constructor-arg>
<constructor-arg>
<bean factory-bean="someBean" factory-method="getEntireConfig().getConfigOpt2()"/>
</constructor-arg>
</bean>
# 1 楼答案
春天3号。你可以使用expression language:
# 2 楼答案
我认为您可以使用util:property path来实现: