以编程方式设置bean的属性引用

时间:2013-04-22 11:04:25

标签: spring hibernate sessionfactory

现在我正在使用以下bean条目

<bean id="Service" >
    <property name="target">
            <bean class="someClass" lazy-init="false">
                <property name="SessionFactory1"><ref bean="SessionFactory1"/></property>
                <property name="SessionFactory2"><ref bean="SessionFactory2"/></property>
                <property name="SessionFactory3"><ref bean="SessionFactory3"/></property>
           </bean>
        </property>

</bean>

现在要求首先检查哪些会话工厂具有活动数据源,并且仅包括上述bean定义中的那些。因此,如果我们尝试使用非活动数据源初始化会话工厂,则应用程序不会中断。

sessionfactory初始化将通过对会话工厂使用单独的配置xml并仅加载具有活动数据源的那些来实现。

请帮助我们如何实现这一目标。

1 个答案:

答案 0 :(得分:0)

您可以使用Spring InitializingBean界面,这样可以实现afterPropertiesSet()方法。此方法将在Spring实例化您的类之后执行,您可以检查会话工厂是否可用。

  

InitializingBean:由Bean实现的接口,这些bean在BeanFactory设置了所有属性后需要做出反应:例如,执行自定义初始化,或仅检查是否已设置所有必需属性。

link:Spring InitializingBean