2012-07-12 6 views
0

Не испытывайте опыт в использовании инъекций весенних бобов.Фасоль в фасолевую инъекцию

<beans:bean id="ModeService" 
     class="<path>Service"> 
    <beans:property name="Mode" value="true"/> 
</beans:bean> 

<beans:bean id="Filter" 
     class="<path>.RequestFilter"> 
    <custom-filter position="FIRST" /> 
</beans:bean> 

Как вставить ModeService bean в компонент фильтра?

нормально, я получил инъекции весной THx @William Так что:

<beans:bean id="maintenanceModeService" 
     class="<path>.MaintenanceService"> 
    <beans:property name="maintenanceMode" value="true"/> 
</beans:bean> 

<beans:bean id="maintenanceFilter" 
     class="<path>.MaintenanceRequestFilter"> 
    <custom-filter position="FIRST" /> 
    <beans:property name="modeService" ref="maintenanceModeService"/> 
</beans:bean> 

В MaintenanceService, Я добавить сеттер/геттер для вызова переменной:

boolean maintenanceMode; 

public void setMaintenanceMode(boolean mode) 
{ 
    this.maintenanceMode = mode; 
} 

public boolean getMaintenanceMode() 
{ 
    return maintenanceMode; 
} 

И добавить setter/getter в MaintenanceRequestFilter:

boolean modeService; 

public void setModeService(MaintenanceService maintenanceMode) 
{ 
    this.modeService = maintenanceMode; 
} 

public MaintenanceService getMaintenanceMode() 
{ 
    return modeService; 
} 

А затем вызвать режимServ Лед в doFilter()

Но не так ... чего-л

+0

я решил мою проблему, это просто невнимательность :) – Pilot

ответ

0
<beans:bean id="Filter" class="<path>.RequestFilter"> 
    <custom-filter position="FIRST" /> 
    <beans:property name="modeService" ref="ModService"/> 
</beans:bean> 

И вы должны иметь/метод установки геттер в классе

class RequestFilter{ 
    public void setModeService(ModService modService){ 
     // some set code here 
    } 

    public ModeService getModeService(){ 
     // some set code here 
     return modService; 
    } 
} 
+0

Я обновил код в соответствии с вашими советами, он работает неправильно. Это могут быть мои пробелы в Injection Dependency ... – Pilot

+0

Я решил свою проблему, это была просто невнимательность :) – Pilot

0

Вы можете использовать ref атрибут для определения ссылки на другой компонент. Filter класс должен иметь свойство типа ModeService, так что вы можете определить его в теге <property>, используя атрибут ref.

<beans:bean id="Filter" class="<path>.RequestFilter"> 
    <custom-filter position="FIRST" /> 
    <beans:property name="modeService" ref="ModeService"/> 
</beans:bean> 
+0

Как точно вводить ModeService в собственность <бобы: недвижимость name = "Mode" value = "true" /> с использованием свойства Filter's modeService? – Pilot

+0

@Pilot: с использованием кода, упомянутого выше. '' будет вводить beans mode. – xyz

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