Spring:在应用程序上下文

时间:2016-07-06 19:17:55

标签: java spring

我的应用程序需求意味着我需要在运行时手动创建应用程序bean,然后将它们添加到应用程序上下文中。

这些bean属于第三方库,所以我无法修改它们,例如一个TibjmsConnectionFactory

因此,我的工厂类创建这些bean需要提供一个Properties对象,它将设置用户名,密码,connectionTimeouts等

理想情况下,我想使用Spring的属性支持,因此我不需要将字符串转换为整数等

此外,提供给我的工厂类的PropertiesPropertyPlaceholderConfigurer

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;
    }

1 个答案:

答案 0 :(得分:0)

看看这篇文章。我想这可能就是你所需要的。

[PropertyPlaceholderConfigurer not loading programmatically

[1]: