我的应用程序需求意味着我需要在运行时手动创建应用程序bean,然后将它们添加到应用程序上下文中。
这些bean属于第三方库,所以我无法修改它们,例如一个TibjmsConnectionFactory
因此,我的工厂类创建这些bean需要提供一个Properties
对象,它将设置用户名,密码,connectionTimeouts等
理想情况下,我想使用Spring
的属性支持,因此我不需要将字符串转换为整数等
此外,提供给我的工厂类的Properties
与PropertyPlaceholderConfigurer
ApplicationContext
所使用的属性不同
我如何实现这一目标,或者甚至可能实现这一目标?
public class MyCustomFactoryStrategy {
@Override
public TibjmsConnectionFactory create(Properties properties) {
TibjmsConnectionFactory connectionFactory = new TibjmsConnectionFactory();
connectionFactory.setServerUrl(properties.getProperty("emsServerUrl")); // this is a string
connectionFactory.setConnAttemptCount(new Integer(properties.getProperty("connAttemptCount"))); // this is an integer
...
return connectionFactory;
}
答案 0 :(得分:0)