我有一个spring boot应用程序,我试图将以下spring xml config转换为java config:
<bean id="pageDAO" factory-bean="springWSDaoFactory"
factory-method="createPageDAO" lazy-init="true">
<constructor-arg type="java.lang.String" value="${cds.host}" />
<constructor-arg type="java.lang.Integer" value="${cds.port}" />
</bean>
<!-- CoreApi + plugins configuration -->
<import resource="classpath:coreAPI_SpringWSContext.xml"/>
<bean name="springWSDaoFactory" class="com.blan.torque.dao.springws.SpringWSDAOFactory" lazy-init="true">
<property name="serviceVersion" value="${service.version}"/>
<property name="securityKey" value="${service.key}"/>
</bean>
到目前为止,我对javaconfig的所作所为:
@Bean
public PageDAO pageDAO() {
return springWSDAOFactory().createPageDAO(null, null);
}
@Bean
public SpringWSDAOFactory springWSDAOFactory() {
SpringWSDAOFactory springWSDAOFactory = new SpringWSDAOFactory();
springWSDAOFactory.setServiceVersion(null);
springWSDAOFactory.setSecurityKey(null);
return springWSDAOFactory;
}
我不知道如何在Java中实现<import resource...../>
,更不用说导入像${cds.host}
这样的变量了。我已将null
作为占位符放在任何地方。但是有关如何使用注释执行此操作的任何想法?
答案 0 :(得分:1)
在配置类中,您可以使用注释@ImportResource
代替<import resource... />
。
要从属性文件中读取字符串,请尝试使用@Value
声明字符串并使用先前声明的字符串。
例如:
@Value("${service.version}")
private String serviceVersion;
然后将其用作参数
springWSDAOFactory.setServiceVersion(this.serviceVersion);
我希望能帮助你。