Здравствуйте. Не могу разобраться с инжекцией зависимости в Spring для generic классов. Есть generic класс:
| Код | abstract class BaseBO<Id, Entity, DAOClass extends DAO<Id, Entity>> implements BO<Id, Entity, DAOClass> { DAOClass dao;
public DAOClass getDAO() { return dao; } //... } |
И класс использующий generic класс:
| Код | public class TaskBO extends BaseBO<Long, Task, TaskDAO> implements BO<Long, Task, TaskDAO> { //пусто } |
В spring нужно указать зависимость в классе TaskBO для свойства TaskDAO которое сгенерированно generic классом. Но spring не поваляет указать TaskDAO а только интерфейс DAO.
В общем можно указать только так:
| Код | <bean id="TaskBO" class="com.otv.model.bo.TaskBO"> <property name="DAO" ref="TaskDAO" /> </bean>
<bean id="TaskDAO" class="com.otv.model.dao.TaskDAO"> <property name="sessionFactory" ref="SessionFactory" /> </bean>
|
Подскажите пожалуйста кто знает решение, как можно указать такую зависимость? |