Spring init与destroy无侵入建议用法

总的说来spring给我们提供了一个方法对一个bean的生成行为作一点自定义。但若用
org.springframework.beans.factory.InitializingBean
org.springframework.beans.factory.DisposableBean 的话这产意味着spring对你的系统
有侵入。所以spring推荐我们不要这么做。它给我们提供的两个更好的做法

1:对间个的bean进行配制如下

    <bean id="pluginBean" class="com.abc.beans.PluginBean" destroy-method="destroy" init-method="init">
        <property name="count">
            <value>8</value>
        </property>
    </bean>


2:下面的这种做法其实是对上面做法的简化。因为在一个系统的开发过程中对于init与destroy方法的命名
一般来说是一样的,若不一样从项目的角度来也很有必要进行一个统一。所以在这思想下就产生了如下的做



<beans default-init-method="init" default-destroy-method="destroy">

    <bean id="blogService" class="com.foo.DefaultBlogService">
        <property name="blogDao" ref="blogDao" />
    </bean>

</beans>


这样做后凡是在这个beanfactory中定义的bean只要有init与destroy这两个方法。spring框架则会
在恰当的时机调用这两个方法。这样就避免了在每一个bean上写同样的代码。

3:若一个bean同时有实现上面的接口而且又以配制形式指定定了相应方法。则实际上这两个方法都会
被调用。调用的顺序是先接中然后配制。

你可能感兴趣的:(spring,bean,框架)