2016-11-25 4 views
0

Код выглядит следующим образомSpring Bean Инъекция интерфейса объекта

public interface ExperimentConfig { 
    Boolean func1(); 
} 

public class RuntimeConfig implements IntializingBean{ 
    private ExperimentConfig experimentConfig; 

    public ExperimentConfig getExperimentConfig() { 
    return experimentConfig; 
    } 

    public void setExperimentConfig(ExperimentConfig experimentConfig) { 
    this.experimentConfig = experimentConfig; 
    } 
} 

public class Util 
{ 
    public static ExperimentConfig experimentConfig() 
    { 
    return new Builder.build(1,"a",89); 
    } 

Spring XML-файл

<bean id="RuntimeConfig" 
    class="bizconfig.RuntimeConfig"scope="singleton"> 

    <property name="experimentConfig"> 
     <bean class="bizconfig.Util" factory-method="experimentConfig"/> 
    </property> 
</bean> 

Этот код доцент, кажется, работает. Я думаю, что использую Spring неправильно, когда интерфейс является свойством. Как это исправить.

+0

Что не работает? –

ответ

1
<bean id="util" class="Util"> 
...properties 
</bean> 

<bean id="RuntimeConfig" 
    class="bizconfig.RuntimeConfig"scope="singleton"> 

    <property name="experimentConfig"> 
     <bean factory-bean="util" factory-method="experimentConfig"/> 
    </property> 
</bean> 
+0

Я не понимаю, что вы подразумеваете под «... свойствами». Util имеет только статические функции –

+0

, если у вас нет других свойств, которые вам не нужны – kuhajeyan

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