2015-10-16 4 views
0

Я новичок в Spring Framework, и я хочу, чтобы у меня было определение bean-компонента в моей конфигурации Spring, которая не упоминается ни в одном из других компонентов, а также я не хочу, чтобы она была загружена с использованием контекста. Я хочу, чтобы при выполнении инициализации бина, весной он загружается, он называет его init-method.Как получить экземпляр отдельного бобов весной?

<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(), я думаю, что этот тест боб должен реализующий интерфейс сказать весной, чтобы загрузить это, как хорошо.

+0

Вы использовали Spring для вызова метода .getBean()? – ryekayo

+0

Это то, что я не хочу делать .. этот компонент должен быть создан экземпляром весны в качестве обратного вызова для примера. – 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> 

Добавление «INIT-метод» атрибут в бобе теге переопределить метод отца, как метод наследует. То же самое с методом уничтожения.

Удачи вам!

Смежные вопросы