for
(Class<?> clazz : beanContainer.getClasses()){
Field[] fields = clazz.getDeclaredFields();
if
(ValidationUtil.isEmpty(fields)){
continue
;
}
for
(Field field : fields){
if
(field.isAnnotationPresent(Autowired.
class
)){
Autowired autowired = field.getAnnotation(Autowired.
class
);
String autowiredValue = autowired.value();
Class<?> fieldClass = field.getType();
Object fieldValue = getFieldInstance(fieldClass, autowiredValue);
if
(fieldValue ==
null
){
throw
new
RuntimeException(
"unable to inject relevant type,target fieldClass is:"
+ fieldClass.getName() +
" autowiredValue is : "
+ autowiredValue);
}
else
{
Object targetBean = beanContainer.getBean(clazz);
ClassUtil.setField(field, targetBean, fieldValue,
true
);
}
}
}
}