Autowire в зависимости от подкласса

У меня есть абстрактный класс AbstractService , который ссылается на AbstractDAO

class AbstractService{  
   protected AbstractDAO abstractDAO;  
}

AbstractService , будет расширен фактическими сервисными классами, такими как ServiceClassA , ServiceClassB и т. Д. и AbstractDAO будет расширен на DaoClassA , DaoClassB и т. д.

В зависимости от того, какой класс расширяется AbstractService , abstractDAO должен быть экземпляром DaoClassA , DaoClassB и т. Д.

Я могу добиться этого с помощью установщика abstractDAO в расширяющемся классе, например

class ServiceClassA{    
    @Autowired  
    @Qualifier("daoClassA")  
    public void setAbstractDAO(AbstractDAO abstractDAO) {  
        super.abstractDAO = abstractDAO;  
    }   
}  

Есть ли способ иметь установщик setAbstractDAO в самом классе AbstractService и abstractDAO получает автоматическое подключение в зависимости от подкласса, возможно, с квалификатором SPEL + и т. д.

Мы не хотим использовать какую-либо конфигурацию XML для этого

8
задан skaffman 22 February 2012 в 17:49
поделиться