2015-10-16 63 views
0

我是Spring框架的新手,我想要做的是在我的spring配置中有一個bean定義,它在任何其他bean中都沒有被引用,我也不想用上下文加載它。我想在做bean初始化的時候,彈出它自己加載的叫它init-method如何在春季實例化一個獨立的bean?

<bean id="test" class="com.spring.test.Test" init-method="init"/> 

package com.spring.test; 

public class Test { 

    public void init() { 
    System.out.println("Recvd the call Test.print() "); 
    } 

}

我沒有得到這個init()打電話,我覺得這個測試的bean應該實現一個接口來告訴彈簧加載這一點。

+0

你用Spring來調用.getBean()方法嗎? – ryekayo

+0

這就是我不想做的事情。這個bean應該作爲一個例子的回調在春季實例化。 – ANewDeveloper

+0

這可能實際上有助於那種情況:'@ PostConstruct' – ryekayo

回答

0

,你必須使用父「豆」標籤default-init-method屬性,看我的例子:

<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd" 
     default-init-method="init" default-destroy-method="destroy"> 

<!--then you can disable init-method using these tag in child bean:--> 

<bean id="test" class="com.spring.test.Test" init-method=""/> 

</beans> 

添加「初始化方法」在bean標籤屬性是覆蓋父方法,像一個繼承方法。與銷燬方法一樣。

祝你好運!