关于Spring bean inizialitazion和destroy的一些疑问

And*_*ili 0 java spring spring-mvc

在这期间我正在学习Spring Framework.

现在我正在研究spring Bean生命周期,特别是关于bean的inizialitazion广告销毁,阅读本教程:

http://www.tutorialspoint.com/spring/spring_bean_life_cycle.htm

我已经实现了上一篇文章中提出的示例,但我对这个论点有疑问.

在示例中,我只有两个类:HelloWorld.javaMainApp.java

HelloWorld.java类中,我有两个bean inizialitazion方法:init()(在创建bean之后由框架调用)和bean清理:*destroy()(在bean销毁之前由框架调用)在我的申请结束时)

好的,很清楚,这两个方法是由bean生命周期的两个特定时刻由框架自动调用的,因为我已经通过init-methoddestroy-method属性在应用程序上下文xml文件中为这个bean进行了delcared :

<bean id="helloWorld" 
    class="org.andrea.myexample.myInitDestroyExample.HelloWorld"
    init-method="init" destroy-method="destroy">
    <property name="message" value="Hello World!"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

这对我来说显而易见.

我有一些问题要理解的事情与上一篇文章的开头有关,事实上它表明要有inizialization方法,我的bean必须实现InitializingBean接口和它的方法代码:afterPropertiesSet()

并且为了执行bean清理(在此之前这是删除),我的bean必须实现DisposableBean接口及其方法的代码:destroy()

好的......所以...为什么在文章中首先表明我的bean必须实现这些接口然后,在这个例子中,不要做这件事,而只是在XML配置中声明init和destroy方法的存在在我的类中实现它没有实现没有接口?

TNX

SJu*_*n76 5

In the case of XML-based configuration metadata, you can use the init-method attribute to specify the name of the method that has a void no-argument signature

XML定义是实现此类接口的替代方法.