@SuppressWarnings({ "rawtypes" }) @Override public Object getSuggestedValue(DependencyDescriptor descriptor) { Object value = parent.getSuggestedValue(descriptor); if (value != null) { return value; } value = super.getSuggestedValue(descriptor); if (value != null) { return value; } Class<?> clazz = descriptor.getDependencyType(); if (!clazz.equals(CommonDao.class)) { return null; } Class<?> entityClass = descriptor.getResolvableType().getGenerics()[0].getRawClass(); if (entityClass == null) { ResolvableType type = descriptor.getResolvableType().getGeneric(0); entityClass = type.resolve(); } if (configuration == null) { schema = beanFactory.getBean(Schema.class); configuration = beanFactory.getBean(Configuration.class); } CommonDao dao = new CommonDao<>(entityClass, schema, configuration); return dao; }
return (suggested != null) ? suggested : super.getSuggestedValue(descriptor);