Spring @Resource инъекция абстрактного класса возвращает значение null

У меня есть pb с тестовым набором, который я запускаю. Я установил объект через интерфейс. Между интерфейсом и классом находится абстрактный класс, где находится метод получения этого объекта. Когда я вызываю добытчика для этого объекта. он возвращает ноль.......? Я думаю, что-то с прокси-объект, но я не знаю, как на самом деле работает прокси-объект

   public interface RequestHandler{
        public void setRequest(ImporterRequest request);}



   public abstract class AbstractRequestHandler implements RequestHandler{

     private ImporterRequest request;

     public ImporterRequest getRequest() {
    return request;
  }

     @Override
  public void setRequest(ImporterRequest request) {
      this.request = request;
  }




  @Component("WBRequestHandler")
  @Scope(value= "prototype", proxyMode = ScopedProxyMode.TARGET_CLASS)
  public class WBRequestHandler extends AbstractRequestHandler implements  RequestHandler{ 
       // here only implemented methods from the AbstrcCllass for read/write csv 

        @Override
    public List<Object> getData(ExportRequest request1) {...}        
        @Override
    public CellProcessor[] createExportCellProcessor(ExportRequest request1) {...}
        @Override
    protected void parseLines(CsvPreference preferences, StringReader reader,
        LngDTO LngDTO, String username) throws IOException {....}
        @Override
    protected CellProcessor[] createProcessors(ImporterRequest request1) {.....}

    }





  @RunWith(SpringJUnit4ClassRunner.class)
  @ContextConfiguration(locations = { "/META-INF/spring-config.xml" })
  public class Test{

    @Resource
private RequestHandler WBRequestHandler;

    @Resource
private ImporterFactory importerFactoryImpl;

    @Test
@Transactional
public void CSVReadTest() {
         //the importerRequest obj is a simple one - non-annotated  
         ImporterRequest ir = new ImporterRequest();    

         ir.setImportTyp(RequestTyp.Artikel); 

         //this instantiation works, i made a test case for a export file with the same line  
         WBRequestHandler = importerFactoryImpl.getHandler(ir);

         WBRequestHandler.setRequest(ir);

         //in the test the req is null, 
         ImporterRequest req = ((AbstractRequestHandler) WBRequestHandler).getRequest(); 


       }

    }

0 ответов

Другие вопросы по тегам