*
* @param beanDef
* @return
*/
private Object annotationInject(BeanDefinition beanDef) {
AnnotationBeanDefinition beanDefinition = (AnnotationBeanDefinition) beanDef;
// constructor injecting
Object object = constructorInject(beanDefinition);
beanDefinition.setInjectedInstance(object);
fieldInject(beanDefinition, object);
methodInject(beanDefinition, object);
addObjectToContext(beanDefinition, object);
return object;
}