Spring 3.2 Autowire универсальные типы
Итак, у меня есть несколько обобщений в Spring 3.2, и в идеале моя архитектура должна выглядеть примерно так.
class GenericDao<T>{}
class GenericService<T, T_DAO extends GenericDao<T>>
{
// FAILS
@Autowired
T_DAO;
}
@Component
class Foo{}
@Repository
class FooDao extends GenericDao<Foo>{}
@Service
FooService extends GenericService<Foo, FooDao>{}
К сожалению, в случае множественных реализаций обобщений автопроводка выдает ошибку о множественных соответствующих определениях компонентов. Я предполагаю, что это потому, что@Autowired
процессы до стирания типа. Каждое решение, которое я нашел или придумал, кажется мне безобразным или просто необъяснимым образом отказывается работать. Как лучше обойти эту проблему?